爬虫笔记(1):网络爬虫实现原理与实现技术

网络爬虫实现原理详解

  • 通用网络爬虫:
    获取初始的URL;
    根据初始的URL爬取页面并获得新的URL;
    将新的URL放到URL队列中;
    从URL队列中读取新的URL,并根据新的URL爬去网页,同时从新网页中获取新URL,重复上述过程;
    满足设置的停止条件时停止爬取。
  • 聚焦网络爬虫:见#395

爬行策略

深度优先爬行策略、广度优先爬行策略、大站优先策略、反链策略、其他

网页更新策略

网站更新后需要重新爬取,网站更新的频率与爬虫访问网站的频率越相近效果越好;
用户体验策略:优先更新排名结果靠前的网页
历史数据策略、
聚类分析策略

网页分析算法

  • 基于用户行为的网页分析算法:用户访问频率、访问时长、单击率等对网页进行综合评价;
  • 基于网络拓扑的网页分析算法:链接关系、PageRank;
  • 基于网页内容的网页分析算法:数据、文本等内容特征。

身份识别

正规的爬虫一般会告诉对应网页的网站站长其爬虫身份,网站管理员则可以通过爬虫告知的身份信息对爬虫身份进行识别。
一般的,会通过HTTP请求中的User Agent字段告知自己的身份信息;爬虫访问网站时,首先会根据该站点下的Robots.txt文件来确定可爬取的网页范围,Robots协议是需要网络爬虫共同遵守的协议。

实现技术

  • Python:框架丰富,多线程能力较强;
  • Java:大型爬虫项目;
  • PHP:后端处理很强,并发能力弱;
  • Node.JS:支持高并发与多线程;
  • C++:运行速度极快,适合大型爬虫项目,成本较高;
  • Go:高并发;
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容