爬虫从入门到出门

爬虫从入门到出门
javascript
Ajax API

网页源码会被解析为DOM树
网络爬虫的常见流程:
循环:从待爬取库中取出URL–抓取取出的URL–解析抓取网页中的结构化数据–探测抓取网页中的URL–去除探测到的URL中已爬取过的URL,将剩下的未爬取的UR了放入待爬取库中
主要组件:
历史URL库;HTTP请求组件;网页结构化数据抽取组件;新URL探测组件;URL去重组件
正则表达式
CSS选择器或XPath(元素定位器)是浏览器JS提供的在该数据结构上获取节点的特征。
爬虫框架
解决的问题:并行爬取,URL去重,保存历史信息,探测新的URL,为为开发者提供网页解析接口(CSS选择器,XPath等),为开发者提供http请求定制接口(模拟登录,post表单等)
常用框架:
通用爬虫框架:为搜索引擎服务,大规模下载网页,对网页进行粗粒度的内容抽取,提交到索引。举例:Nutch,heritrix
精数据采集爬虫框架:采集特定结构化数据 举例: java:Wecollector,Webmagic
python:SCRAPH
通用选取考虑点:量级,优秀的URL维护机制,自动探测URL,对页面重复爬取以探测新URL,便于定制,扩展。
精数据采集爬虫框架:网页抽取支持是否优秀,可否深度定制Http请求,深度定制URL探测机制,去重组件是否有效率瓶颈,能够断点采集,能否处理由javascript加载的数据。
分布式爬虫 利用集群解决爬虫计算,存储和带宽资源等问题
基于Map-Reduce的分布式爬虫
基于分布式消息队列的分布式爬虫

猜你喜欢

转载自blog.csdn.net/m0_37975258/article/details/79664323