python网络编程学习笔记:web客户端访问

python网络编程学习笔记:web客户端访问

ID:34725517

大小:123.68 KB

页数:8页

时间:2019-03-10

python网络编程学习笔记:web客户端访问_第1页
python网络编程学习笔记:web客户端访问_第2页
python网络编程学习笔记:web客户端访问_第3页
python网络编程学习笔记:web客户端访问_第4页
python网络编程学习笔记:web客户端访问_第5页
资源描述:

《python网络编程学习笔记:web客户端访问》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、6.1最简单的爬虫网络爬虫是一个自动提取网页的程序,它为搜索引擎从万维网上下载网页,是搜索引擎的重要组成。python的urlliburllib2等模块很容易实现这一功能,下面的例子实现的是对baidu首页的下载。具体代码如下:importurllib2page=urllib2.urlopen("http://www.baidu.com")printpage.read()6.2提交表单数据(1)用GET方法提交数据提交表单的GET方法是把表单数据编码至URL。在给出请示的页面后,加上问号,接着是表单的元素。如在百度中搜索“马伊琍”得到url为http://www.

2、baidu.com/s?wd=%E9%A9%AC%E4%BC%8A%E7%90%8D&pn=100&rn=20&ie=utf-8&usm=4&rsv_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表示第几页。如果要下载以上

3、页面比较简单的方法是直接用上面的网址进行提取。如代码:importurllib2keyword=urllib.quote('马伊琍')page=urllib2.urlopen("http://www.baidu.com/s?wd="+keyword+"&pn=100&rn=20&ie=utf-8&usm=4&rsv_page=1")printpage.read()(2)用post方法提交GET方法中,数据是被加到URL上,这种方法数据量要求不大,如果需要交换大量数据的时间,POST方法是一个很好的方法。这里以前段时间写的博客《python模拟163登陆获取邮件列表》

4、为例,具体代码不在列出,详见地址:http://www.cnblogs.com/xiaowuyi/archive/2012/05/21/2511428.html。6.3urllib,urllib2,httplib,mechanize的介绍6.3.1urllib模块(引自:http://my.oschina.net/duhaizhang/blog/68893)urllib模块提供接口可以使我们像访问本地文件一样来读取www和ftp上的数据。模块中最重要的两个函数分别是:urlopen()和urlretrieve()。urllib.urlopen(url[,data[,

5、proxies]]):本函数创建一个表示远程url的类文件对象,然后像本地文件一样操作这个类文件对象来获取远程数据。http://biao.qqlove789.com参数url表示远程数据的路径,一般是网址;参数data表示以post方式提交到url的数据;参数proxies用于设置代理。urlopen返回一个类文件对象,返回的类文件对象提供了如下方法:read(),readline(),readlines(),fileno(),close():这些方法的使用方式与文件对象完全一样;info():返回一个httplib.HTTPMessage对象,表示远程服务器返回

6、的头信息;getcode():返回Http状态码。如果是http请求,200表示请求成功完成;404表示网址未找到;geturl():返回请求的url;#!/usr/bin/envpython#coding=utf-8importurllibcontent=urllib.urlopen("http://www.baidu.com")print"httpheader:",content.info()print"httpstatus:",content.getcode()print"url:",content.geturl()print"content:"forline

7、incontent.readlines():printlineurllib.urlretrieve(url[,filename[,reporthook[,data]]]):urlretrieve方法直接将远程数据下载到本地。参数filename指定了保存到本地的路径(如果未指定该参数,urllib会生成一个临时文件来保存数据);参数reporthook是一个回调函数,当连接上服务器、以及相应的数据块传输完毕的时候会触发该回调(即每下载一块就调用一次回调函数)。我们可以利用这个回调函数来显示当前的下载进度,也可以用于限速,下面的例子会展示。参数data指post到

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。