爬虫——第一篇总括

爬虫——第一篇总括爬虫概念网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或

大家好,欢迎来到IT知识分享网。

爬虫——第一篇总括

爬虫概念

网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。另外一些不常使用的名字还有蚂蚁、自动索引、模拟程序或者蠕虫。简单点说就是用来获取数据的脚本,实现方式很多。爬虫还是很有用的,在这里说一嘴,小编使用爬虫也小赚了一些。

爬取对象

只要是你想要的数据,都可以进行爬取,这里主要分为两大类,一类是网页,另一类是APP。

网页又可以分为两大类,一类是服务端渲染,页面的结果是由服务器渲染后返回的,有效信息包含在请求的 HTML 页面里面。另一类是客户端渲染,页面的主要内容由 JavaScript 渲染而成,真实的数据是通过 Ajax 接口等形式获取。这个爬取比较困难,主要解决方式有以下四种:

  • 寻找 Ajax 接口,此种情形可以直接使用 Chrome/Firefox 的开发者工具直接查看 Ajax 具体的请求方式、参数等内容,可以查看type为text/html的,查看他的request,然后用 HTTP 请求库模拟即可,另外还可以通过设置代理抓包来查看接口,如 Fiddler/Charles
  • 模拟浏览器执行,此种情形适用于网页接口和逻辑较为复杂的情况,可以直接以可见即可爬的方式进行爬取,如可以使用 Selenium、Splinter、Spynner、pyppeteer、PhantomJS、Splash、requests-html 等来实现
  • 直接提取 JavaScript 数据,此种情形适用于真实数据没有经过 Ajax 接口获取,而是直接包含在 HTML 结果的某个变量中,直接使用正则表达式将其提取即可
  • 模拟执行 JavaScript,某些情况下直接模拟浏览器执行效率会偏低,如果我们把 JavaScript 的某些执行和加密逻辑摸清楚了,可以直接执行相关的 JavaScript 来完成逻辑处理和接口请求,比如使用 Selenium、PyExecJS、PyV8、js2py 等库来完成即可

APP分为四类,分别为普通接口,加密参数接口,加密内容接口和非常规协议接口。

针对不同的对象需要掌握不同的爬取方式,其中的难度都是不同的。

爬虫架构

爬虫架构主要由五个部分组成,分别是调度器、URL管理器、网页下载器、网页解析器、应用程序(爬取的有价值数据)。

爬虫——第一篇总括

对于大部分的应用来说,我总结了只需要搞清楚三部分就可以,第一就是页面下载,第二就是页面内容解析,最后就是数据的清洗保存。最困难的地方就在于页面的下载,因为这部分涉及到反爬措施,如何将所需的数据下载下来难度是不同的。

爬虫工具

请求工具主要是request和urllib两种,两者的功能大体相似,但是request用起来更加方便,主要是request库可以直接接受字符串参数,不需要对参数进行url编码。

解析工具分为BeautifulSoup和lxml两类,两个都可以实现css selector和xpath解析。简单的也可以使用正则来进行解析。

总结

后面的文章,将会使用项目的方式给大家深入讲解爬虫的使用,看官大大们如果有什么建议可以随便提。

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/72948.html

(0)

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信