爬虫笔记(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:高并发;

你可能感兴趣的:(爬虫笔记(1):网络爬虫实现原理与实现技术)