- 1、本文档共8页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
6.1 最简单的爬虫网络爬虫是一个自动提取网页的程序,它为搜索引擎从万维网上下载网页,是搜索引擎的重要组成。python的urllib\urllib2等模块很容易实现这一功能,下面的例子实现的是对baidu首页的下载。具体代码如下:
import urllib2
page=urllib2.urlopen()
print page.read()
6.2 提交表单数据(1)用GET方法提交数据提交表单的GET方法是把表单数据编码至URL。在给出请示的页面后,加上问号,接着是表单的元素。如在百度中搜索“马伊琍”得到url为/s?wd=%E9%A9%AC%E4%BC%8A%E7%90%8Dpn=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=urllib.quote(马伊琍)
page=urllib2.urlopen(/s?wd=+keyword+pn=100rn=20ie=utf-8usm=4rsv_page=1)
print page.read()
(2)用post方法提交GET方法中,数据是被加到URL上,这种方法数据量要求不大,如果需要交换大量数据的时间,POST方法是一个很好的方法。这里以前段时间写的博客《python模拟163登陆获取邮件列表》为例,具体代码不在列出,详见地址:/xiaowuyi/archive/2012/05/21/2511428.html。
6.3 urllib,urllib2,httplib,mechanize的介绍6.3.1urllib模块(引自:/duhaizhang/blog/68893)urllib模块提供接口可以使我们像访问本地文件一样来读取www和ftp上的数据。模块中最重要的两个函数分别是:urlopen()和urlretrieve()。
urllib.urlopen(url[, data[, proxies]]) :本函数创建一个表示远程url的类文件对象,然后像本地文件一样操作这个类文件对象来获取远程数据。 参数url表示远程数据的路径,一般是网址;参数data表示以post方式提交到url的数据;参数proxies用于设置代理。urlopen返回 一个类文件对象,返回的类文件对象提供了如下方法:
read(), readline(), readlines(), fileno(), close():这些方法的使用方式与文件对象完全一样;info():返回一个httplib.HTTPMessage对象,表示远程服务器返回的头信息;getcode():返回Http状态码。如果是http请求,200表示请求成功完成;404表示网址未找到;geturl():返回请求的url;
#! /usr/bin/env python
#coding=utf-8
import urllib
content=urllib.urlopen()
print http header:,()
print http status:,content.getcode()
print url:,content.geturl()
print content:
for line in content.readlines():
print line
urllib.urlretrieve(url[, filename[, reporthook[, data]]]):urlretrieve方法直接将远程数据下载到本地。参数filename指定了保存到本地的路径(如果未指定该参数,urllib会生成一个临时文件来保存数据);参数reporthook是一个 回调函数,当连接上服务器、以及相应的数据 块传输完毕的时候会触发该回调(即每下载一块就调用一次回调函数)。我们可以利用这个回调函 数来显示当前的下载进度,也可以用于限速,下面的例子会展示。参数data指post到服务器的数据。该方法返回一个包含两个元素的元组(filename, headers),filename表示保存到本地的路径, header表示服务器的响应头。
#! /usr/bin/env python
# coding:
您可能关注的文档
- PLC控制电机正反转(毕业论文).doc
- PLC的A3000实验装置的监控系统设计.doc
- PM02制二课薪资管理办法.doc
- PMP教你如何用项目管理知识管理多产品开发项目.doc
- POF热收缩膜设备介绍[1].doc
- powerpoint实验作业.doc
- PPP:新型公私合作融资模式.doc
- Premiere教程:实现无缝连接的淡入淡出效果.doc
- PROFIBUS-DP中的PKW.doc
- proe工程图文字格式设定.doc
- springbooot+vue基于java的房屋维修系统毕业论文.doc
- 中国消防救援学院《单片机系统实验》2023-2024学年第一学期期末试卷.doc
- 2025年溧阳纺织化学品项目申请.pptx
- 景区门票包销合同模板(3篇).docx
- 【股票技术指标学习指南】第七章第三节货币需要量的测算.doc
- 2025春 _ 人教版七年级英语下册【unit4】看音标写单词.doc
- 2025春 _ 人教版七年级英语下册【unit5】看音标写单词.doc
- 2025春 _ 人教版七年级英语下册【unit6】看音标写单词.doc
- 2025春 _ 人教版七年级英语下册【unit7】看音标写单词.doc
- 2025春 _ 人教版七年级英语下册【unit8】看音标写单词.doc
最近下载
- 骨科手术患者围手术期VTE风险评估及预防.ppt VIP
- 一年级上册识字1 识字闯关游戏 课件(共24张PPT).pptx VIP
- 电力工程勘测方案设计(3篇).docx VIP
- %227中央空调通风与空调工程清单估算(成本估算).xlsx VIP
- 钢结构焊接施工方案(最终版) .pdf VIP
- 写字楼物业管理与租金收益.docx VIP
- 2024年巴东县选调县外在职在编教师真题.docx VIP
- 医疗器械企业质量手册.doc VIP
- XX乡政府关于推荐XXX同志评选高级农艺师材料.pdf VIP
- Souvenirs d'enfance童年的回忆-钢琴谱 原调简谱 高清正版完整版双手简谱.pdf
文档评论(0)