python网络编程学习笔记Web客户端访问.docx

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
python网络编程学习笔记Web客户端访问 python网络编程学习笔记Web客户端访问 PAGE / NUMPAGES python网络编程学习笔记Web客户端访问 最简单的爬虫 网络爬虫是一个自动提取网页的程序, 它为搜索引擎从万维网上下载网页, 是搜索引擎的重 要组成。 python 的 urllib\urllib2 等模块很容易实现这一功能,下面的例子实现的是对 baidu 首页的下载。具体代码如下: import urllib2 page =( ) print () 提交表单数据 用 GET 方法提交数据 提交表单的 GET 方法是把表单数据编码至 URL 。在给出请示的页面后,加上问号,接着是 表单的元素。如在百度中搜索 “马伊琍 ”得到  url  为 pn=100rn=20ie=utf-8usm=4rsv_page=1 。其中?后面为表单元素。 wd=%E9%A9%AC%E4%BC%8A%E7%90%8D 表示搜索的词是 “马伊琍 ”, pn 表示 从第 100 条信息所在页开始显示(感觉是这样,我试了几次,当写 100 时,从其所在页显 示,但如果写 10 ,就是从第 1 页显示), rn=20 表示每页显示 20 条, ie=utf-8 表示编 码格式, usm=4 没明白是什么意思, 换了 1 、2 、3 试了下,没发现什么变化, rsv_page=1 表示第几页。如果要下载以上页面比较简单的方法是直接用上面的网址进行提取。如代码: import urllib2 keyword =( 马伊琍 ) page =( +keyword+ pn=100rn=20ie=utf-8usm=4rsv_page=1 ) print () (2) 用 post 方法提交 GET 方法中,数据是被加到 URL 上,这种方法数据量要求不大,如果需要交换大量数据的 时间, POST 方法是一个很好的方法。这里以前段时间写的博客《 python 模拟 163 登陆 获取邮件列表》为例,具体代码不在列出,详见地址:。 urllib,urllib2,httplib ,mechanize 的介绍 模块 ( 引自: urllib 模块提供接口可以使我们像访问本地文件一样来读取 www 和 ftp 上的数据。模块中 最重要的两个函数分别是: urlopen() 和 urlretrieve() 。 (url[, data[, proxies]]) : 本函数创建一个表示远程 url 的类文件对象, 然后像本地文件一样操作这个类文件对象来获 取远程数据。 参数 url 表示远程数据的路径,一般是网址;参数 data 表示以 post 方式提 交到 url 的数据;参数 proxies 用于设置代理。 urlopen 返回 一个类文件对象,返回的类 文件对象提供了如下方法: read(), readline(), readlines(), fileno(), close() :这些方法的使用方式与文件对象完 全一样 ; info() :返回一个对象,表示远程服务器返回的头信息; getcode() :返回 Http 状态码。如果是 http 请求, 200 表示请求成功完成 ;404 表示网址未找到; geturl() :返回请求的 url ; #! /usr/bin/env python #coding=utf-8 import urllib content =( ) print http header: ,() print http status: ,() print url: ,() print content: for line in (): print line (url[, filename[, reporthook[, data]]]) : urlretrieve 方法直接将远程数据下载到本地。 参数 filename 指定了保存到本地的路径 (如 果未指定该参数, urllib 会生成一个临时文件来保存数据);参数 reporthook 是一个 回 调函数,当连接上服务器、以及相应的数据 块传输完毕的时候会触发该回调(即每下载一 块就调用一次回调函数)。我们可以利用这个回调函 数来显示当前的下载进度,也可以用 于限速,下面的例子会展示。参数 data 指 post 到服务器的数据。该方法返回一个包含两 个元素的元组 (filename, headers) , filename 表示保存到本地的路径, header 表示服 务器的响应头。 #! /usr/bin/env python # coding: utf-8 下载文件,并显示下载进度 import url

文档评论(0)

182****7876 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档