Python网络爬虫学习笔记(一)

网络爬虫的组成

    网络爬虫由控制节点、爬虫节点、资源库构成。控制节点,又称为爬虫的中央控制器,主要负责根据URL地址分配线程,并调用爬虫节点进行具体的爬行。网络爬虫中可以有多个控制节点,每个控制节点下可以有多个爬虫节点,控制节点之间可以互相通信,控制节点和其下的爬虫节点之间也可以相互通信,属于同一个控制节点下的各爬虫节点间,也可以相互通信。

实现原理与实现技术

    不同网络爬虫原理不尽相同,但存在很多共性,这里以两种典型的爬虫为例:通用网络爬虫、聚焦网络爬虫

  • 通用网络爬虫

        实现原理与过程如下:

  1. 获取初始的URL
  2. 根据初始的URL爬取页面并获取新的URL
  3. 将新的URL放到URL队列中
  4. 从URL队列中读取新的URL,并根据新的URL爬取网页,同时从新网页中获取新的URL,并重复上述爬取过程
  5. 满足爬虫系统设置的停止条件时,停止爬取
  • 聚焦网络爬虫(有目的地进行爬取)

        实现原理与过程如下:

  1. 定义和描述要爬取的目标
  2. 获取初始的URL
  3. 根据初始的URL爬取页面并获取新的URL
  4. 从新的URL中过滤掉与爬取目标无关的链接,同时将已爬取的URL地址存放到一个URL列表中,用于去重和判断爬取的进程
  5. 将过滤后的链接放到URL队列中
  6. 从URL队列中,根据搜索算法,确定URL的优先级,并确定下一步要爬取的URL地址
  7. 从下一步要爬取的URL地址中,读取新的URL,然后依据新的URL地址爬取网页,并重复上述爬取过程
  8. 满足系统中设置的停止条件,或无法获取新的URL地址时,停止爬行

爬行策略

    主要有深度优先、广度优先、大站优先、反链策略、其他爬行策略等。

网页更新策略

    网站的网页经常会更新,作为爬虫方,在网页更新后,需要对这些网页进行重新爬取,爬虫要根据一定的更新策略让不同的网页有不同的爬取优先级。常用的策略有3种:用户体验策略、历史数据策略、聚类分析策略。

网页分析算法

    爬虫爬取了对应的网页后,会将网页存储到服务器的数据库中,之后,搜索引擎会对这些网页进行分析并确定各网页的重要性。有如下3类分析算法:基于用户行为的网页分析算法、基于网络拓扑的网页分析算法、基于网页内容的网页分析算法。

身份识别

    一般的,爬虫对网页进行爬取的时候,会通过HTTP请求中的User Agent字段告知自己的身份信息。一般爬虫访问一个网站的时候,首先会根据该站点下的Robots.txt文件来确定可以爬取的网页范围,Robots协议是需要网络爬虫共同遵守的协议,对于一些禁止的URL地址,网络爬虫则不应该爬取访问。


猜你喜欢

转载自blog.csdn.net/qq_29599907/article/details/80734574
今日推荐