爬虫-webmagic学习总结.pptVIP

  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文档。上传文档
查看更多
Web爬虫 申国启 目录 什么是网络爬虫以及用途 网络爬虫的基本结构 网络爬虫通用框架图 网络爬虫的工作流程 网络爬虫使用的技术 爬虫的框架webmagic 分析网页 实例 什么是网络爬虫 是一种按照一定的规则,自动抓取万维网信息的程序或者脚本,网络爬虫也被称为蚂蚁、自动索引、模拟程序或者蠕虫。 用途 搜索引擎 数据分析 审核 自动化测试 网络爬虫的基本结构 在网络爬虫的系统框架中,主要过程由控制器、解析器、资源库三部分组成。 控制器的主要工作是负责给多线程中的各个爬虫线程分配工作任务。 解析器的主要工作是下载网页,进行页面的处理主要是将一些JS脚本标签、css代码内容、空格字符、html标签内容处理掉,爬虫的基本工作是由解析器完成。 资源库是用来存放下载到的网页资源,一般都采用大型的数据库存储。 网络爬虫通用框架图 网络爬虫的工作流程 首先选取一部分精新挑选的种子URL ; 将这些URL放入待抓取的URL队列; 从待抓取URL队列中取出待抓取URL,解析DNS并且得到主机的ip,并将URL对应的网页下载下来,存储进已下载网页库中。此外,将这些URL放进已抓取URL队列。 分析已抓取URL队列中的URL,分析其中的其它URL,并且将URL放入待抓取URL队列,从而进入下一个循环。 网络爬虫使用的技术 HttpClient技术(模拟浏览器请求下载页面) 页面抽取技术(jsoup、xpath、regex) 多线程技术 分布式技术 爬虫框架-wemagic webmgic是一个无须配置、便于二次开发的爬虫框架,它提供简单灵活的API,只需少量代码即可实现一个爬虫。 webmagic采用完全模块化的设计,功能覆盖整个爬虫的生命周期(链接提取、页面下载、内容抽取、持久化),支持多线程抓取,分布式抓取,并支持自动重试以及自定义UA/cokie等功能。 下载 WebMagic的结构分为Downloader、PageProcessor、Scheduler、Pipeline四大组件,并由Spider将它们彼此组织起来。这四大组件对应爬虫生命周期中的下载、处理、管理和持久化等功能。 可以认为Spider是一个大的容器,它将这几个组件组织起来,让它们可以互相交互,流程化的执行,它也是WebMagic逻辑的核心。 分析网页内容 网页内容一般就是指我们最终在网页上看到的内容,但是这个过程其实并不是网页的代码里面直接包含内容。主要分为以下几种情况: 网页包含内容 这种情况是最容易解决的,一般来讲基本上是静态网页已经写死的内容,或者动态网页,采用模板渲染,浏览器获取到HTML的时候已经是包含所有的关键信息,所以直接在网页上看到的内容都可以通过特定的HTML标签得到。 2. javaScript代码加载内容 这种情况是由于虽然网页显示时,内容在HTML标签里面,但是其实是由于执行js代码加到标签里面的,所以这个时候内容在js代码里面的,而js的执行是在浏览器端的操作,所以用程序去请求网页地址的时候,得到的response是网页代码和js的代码,所以自己在浏览器端能看到内容,解析时由于js未执行,肯定找到指定HTML标签下内容肯定为空,这个时候的处理办法,一般来讲主要是要找到包含内容的js代码串,然后通过正则表达式获得相应的内容,而不是解析HTML标签 3. Ajax异步请求 这种情况是现在很常见的,尤其是在内容以分页形式显示在网页上,并且页面无刷新,或者是对网页进行某个交互操作后,得到内容。 一般当我们开始刷新页面的时候就要开始跟踪所有的请求,观察数据到底是在哪一步加载进来的。然后当我们找到核心的异步请求的时候,就只用抓取这个异步请求就可以了,如果原始网页没有任何有用信息,也没必要去抓取原始网页了。 页面抓包工具fiddler

文档评论(0)

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

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

1亿VIP精品文档

相关文档