python爬虫-教学课件.docxVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第一章 零基础入门 0×00 介绍 爬虫技术是数据挖掘,测试技术的重要的组成部分,是有哪些信誉好的足球投注网站引擎技术的核心。 但是作为一项普通的技术,普通人同样可以用爬虫技术做很多很多的事情,比如:你想了解一下FreeBuf所有关于爬虫技术的文章,你就可以编写爬虫去对FreeBuf的文章进行有哪些信誉好的足球投注网站,解析。比如你想获得淘宝某类商品的价格,你可以编写爬虫自动有哪些信誉好的足球投注网站某类商品,然后获取信息,得到自己想要的结果,每天定时爬一下自己就可以决定在什么时候低价的时候买下心仪的商品了。或者说自己想收集某类信息集合成自己的数据库,但是手动复制粘贴特别的麻烦,这时候爬虫技术就可以帮上大忙了对不对? 0×01 要求 那么本系列文章旨在普及爬虫技术,当然不是那种直接拿来爬虫框架来说明的。在本系列文章中,笔者尽力从简到难,简明地介绍爬虫的各种要素,怎么样快速编写对自己有用的代码。但是对读者有一定小小的要求:看得懂python代码,然后自己能动手实践一些,除此之外,还要对html元素有一定的了解。 0×02 你能学到什么? 当然爬虫的文章在网上很容易找到,但是精致,系统地讲解的文章还是比较少,笔者在本文和今后的文章将介绍关于爬虫的各种各样的知识: 大致上,本文的写作顺序是单机爬虫到分布式爬虫,功能实现到整体设计,从微观到宏观。 1.????简单模块编写简单爬虫 2.????相对优雅的爬虫 3.????爬虫基本理论以及一般方法 4.????简单Web数据挖掘 5.????动态web爬虫(可以处理js的爬虫) 6.????爬虫的数据存储 7.????多线程与分布式爬虫设计 如果有读者想找一些爬虫的入门书籍来看,我推荐《web scraping with python》,这本书是英文版目前没有中文译本,但是网上有爱好者在翻译,有兴趣的读者可以了解一下。 0×03 知识补充 在这里的知识补充我其实是要简单介绍目前主流的几种爬虫编写用的模块: Htmllib(sgmllib),这个模块是非常古老的一个模块,偏底层,实际就是简单解析html文档而已,不支持有哪些信誉好的足球投注网站标签,容错性也比较差,这里指的提醒的是,如果传入的html文档没有正确结束的话,这个模块是不会解析的,直到正确的数据传入或者说强行关闭。 BeautifulSoup,这个模块解析html非常专业,具有很好的容错性,可以有哪些信誉好的足球投注网站任意标签,自带编码处理方案。 Selenium,自动化web测试方案解决者,类似BeautifulSoup,但是不一样的是,selenium自带了js解释器,也就是说selenium配合浏览器可以用来做动态网页的爬取,分析,挖掘。 Scrapy框架:一个专业的爬虫框架(单机),有相对完整的解决方案。 API爬虫:这里大概都是需要付费的爬虫API,比如google,twitter的解决方案,就不在介绍。 笔者在文章中只会出现前三种方式来做爬虫编写。 0×04 最简单的开始 最开始的一个例子,我将会先介绍最简单的模块,编写最简单的单页爬虫: Urllib这个模块我们这里用来获取一个页面的html文档,具体的使用是, Web = urllib.urlopen(url) Data = Web.read() 要注意的是,这是py2的写法,py3是不一样的。 Smgllib这个库是htmllib的底层,但是也可以提供一个对html文本的解析方案,具体的使用方法是: 1.????自定义一个类,继承sgmllib的SGMLParser; 2.????复写SGMLParser的方法,添加自己自定义的标签处理函数 3.????通过自定义的类的对象的.feed(data)把要解析的数据传入解析器,然后自定义的方法自动生效。 import urllib import sgmllib? ? class handle_html(sgmllib.SGMLParser): ? ? ? ?#unknown_starttag这个方法在任意的标签开始被解析时调用 ? ? ? ?#tag为标签名 ? ? ? ?#attrs表示标签的参赛 ? ?def unknown_starttag(self, tag, attrs): ? ? ? ?print +tag+ start ? ? ? ?print attrs ? ? ? ?#unknown_endtag这个方法在任意标签结束被解析时被调用 ? ?def unknown_endtag(self, tag): ? ? ? ?print +tag+ end ? web =urllib.urlopen(/) web_handler = handle_html() #数据传入解析器 web_handler.feed(web.read()) 短短十几行代码,最简单的单页面爬虫就完成了,以下是输出的效果。我们可以看到标签开

文档评论(0)

moon8888 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档