1 / 86
文档名称:

python爬虫.docx

格式:docx   大小:6,108KB   页数:86页
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

python爬虫.docx

上传人:977562398 2019/1/31 文件大小:5.96 MB

下载得到文件列表

python爬虫.docx

文档介绍

文档介绍:第一章零基础入门0×00介绍爬虫技术是数据挖掘,测试技术的重要的组成部分,是搜索引擎技术的核心。但是作为一项普通的技术,普通人同样可以用爬虫技术做很多很多的事情,比如:你想了解一下FreeBuf所有关于爬虫技术的文章,你就可以编写爬虫去对FreeBuf的文章进行搜索,解析。比如你想获得淘宝某类商品的价格,你可以编写爬虫自动搜索某类商品,然后获取信息,得到自己想要的结果,每天定时爬一下自己就可以决定在什么时候低价的时候买下心仪的商品了。或者说自己想收集某类信息集合成自己的数据库,但是手动复制粘贴特别的麻烦,这时候爬虫技术就可以帮上大忙了对不对?0×01要求那么本系列文章旨在普及爬虫技术,当然不是那种直接拿来爬虫框架来说明的。在本系列文章中,笔者尽力从简到难,简明地介绍爬虫的各种要素,怎么样快速编写对自己有用的代码。但是对读者有一定小小的要求:看得懂python代码,然后自己能动手实践一些,除此之外,还要对html元素有一定的了解。0×02你能学到什么?当然爬虫的文章在网上很容易找到,但是精致,系统地讲解的文章还是比较少,笔者在本文和今后的文章将介绍关于爬虫的各种各样的知识:大致上,本文的写作顺序是单机爬虫到分布式爬虫,功能实现到整体设计,从微观到宏观。1.    简单模块编写简单爬虫2.    相对优雅的爬虫3.    爬虫基本理论以及一般方法4.    简单Web数据挖掘5.    动态web爬虫(可以处理js的爬虫)6.    爬虫的数据存储7.    多线程与分布式爬虫设计如果有读者想找一些爬虫的入门书籍来看,我推荐《webscrapingwithpython》,这本书是英文版目前没有中文译本,但是网上有爱好者在翻译,有兴趣的读者可以了解一下。0×03知识补充在这里的知识补充我其实是要简单介绍目前主流的几种爬虫编写用的模块:Htmllib(sgmllib),这个模块是非常古老的一个模块,偏底层,实际就是简单解析html文档而已,不支持搜索标签,容错性也比较差,这里指的提醒的是,如果传入的html文档没有正确结束的话,这个模块是不会解析的,直到正确的数据传入或者说强行关闭。BeautifulSoup,这个模块解析html非常专业,具有很好的容错性,可以搜索任意标签,自带编码处理方案。Selenium,自动化web测试方案解决者,类似BeautifulSoup,但是不一样的是,selenium自带了js解释器,也就是说selenium配合浏览器可以用来做动态网页的爬取,分析,挖掘。Scrapy框架:一个专业的爬虫框架(单机),有相对完整的解决方案。API爬虫:这里大概都是需要付费的爬虫API,比如google,twitter的解决方案,就不在介绍。笔者在文章中只会出现前三种方式来做爬虫编写。0×04最简单的开始最开始的一个例子,我将会先介绍最简单的模块,编写最简单的单页爬虫:Urllib这个模块我们这里用来获取一个页面的html文档,具体的使用是,Web=(url)Data=()要注意的是,这是py2的写法,py3是不一样的。Smgllib这个库是htmllib的底层,但是也可以提供一个对html文本的解析方案,具体的使用方法是:1.    自定义一个类,继承sgmllib的SGMLParser;2.    复写SGMLParser的方法,添加自己自定义的标签处理函数3.    (data)把要解析的数据传入解析器,然后自定义的方法自动生效。importurllibimportsgmllib  classhandle_html():    #unknown_starttag这个方法在任意的标签开始被解析时调用    #tag为标签名    #attrs表示标签的参赛  defunknown_starttag(self,tag,attrs):    print"-------"+tag+"start--------"    printattrs    #unknown_endtag这个方法在任意标签结束被解析时被调用  defunknown_endtag(self,tag):    print"-------"+tag+"end----------" web=("/")web_handler=handle_html()#(())短短十几行代码,最简单的单页面爬虫就完成了,以下是输出的效果。我们可以看到标签开始和结束都被标记了。然后同时打印出了每一个参数。接下来我们可以使用这种底层的解析方式来做个基础的小例子:下面这个小例子在标签开

最近更新

脱硝尿素催化水解运行中的问题分析及改进措施.. 3页

促销策划新知助业营销策划机构推荐 23页

2025年天津医学高等专科学校单招职业技能测试.. 60页

2025年天津商务职业学院单招职业倾向性测试题.. 62页

2025年天津商务职业学院单招职业倾向性测试题.. 62页

2025年传承优良家风做新时代少年演讲稿(精选7.. 11页

2025年天津商务职业学院单招职业适应性测试题.. 62页

2025年天津商务职业学院单招职业适应性测试题.. 62页

2025年班组长培训感悟与收获(精选13篇) 16页

2025年天津国土资源和房屋职业学院单招职业技.. 61页

2025年班级防溺水专题知识讲座讲话稿 5页

聚拓大型低压氨合成技术领先国际 3页

2025年天津工艺美术职业学院单招职业技能测试.. 60页

2025年天津工艺美术职业学院单招职业适应性测.. 61页

2025年天津工艺美术职业学院单招职业适应性测.. 63页

2025年七年级上册语文教学工作总结 37页

2025年班级推荐意见 3页

2025年天津机电职业技术学院单招职业技能测试.. 63页

亿元合同存款成交案例分析 6页

足浴店经营转让协议 12页

大学考试—结构力学——试题库及答案 189页

足疗技师合作协议 4页

食品销售企业安全风险管控清单(新) 10页

大学有机化学知识点总结 18页

部编小学语文六年级下册第四单元单元备课 4页

南医大研究生复试真题 6页

五四青年节共青团手抄报Word模板 1页

班组长质量意识培训内容 6页

标示牌技术规范说明 9页