爬虫的基本原理:
可以把互联网比作一张大网,而爬虫(即网络爬虫) 便是在网上爬行的蜘蛛。 把网的节点比作一个个网页, 爬虫爬到这就相当于访问了该页面,获取了其信息 。可以把节点间的连线比作网页与网页之间的链接关系, 蜘蛛通过一个节点后,可以顺着节点连线继续爬行到达 下一个节点,即通过一个网页继续获取后续的网页,这 样整个网的节点便可以被蜘蛛全部爬行到,网站的数据 就可以被抓取下来了 。互联网上的WEB页面可以抽象化为一张有向图。图的遍历就是用来解决节点的 访问顺序问题。图的遍历算法有两种,即深度优先算法DFS和宽度优先算法BFS。
爬虫的概念:
网络爬虫(Spider)是一种程序,它的主要目的是将互联网上的网页下载到本地 并提取出相关数据。网络爬虫可以自动化的浏览网络中的信息,然后根据我们制 定的规则下载和提取信息。网络爬虫就像一只蜘蛛一样在互联网上沿着URL的丝线爬行,下载每一个URL所指向的网页,分析页面内容。
危害:
性能骚扰 :
Web服务器默认接收人 类访问,而受限于编写水平 和目的,网络爬虫将会为 Web服务器带来巨大的资源 开销。
法律风险 :
服务器上的数据有产 权归属,而网络爬虫获取 数据后牟利将带来法律风 险。隐私泄露 :
网络爬虫可能具备突 破简单访问控制的能力, 获得被保护数据从而泄露 个人隐私
爬虫的应用
动态网页与静态网页
robots协议的定义及如何查看某个网站的bobots协议
robots.txt是一个存放在网站根目录下的ASCII编码的文本文件。爬虫在爬网站之 前,需要首先访问并获取这个robots.txt文件的内容,这个文件里面的内容会告 诉爬虫哪些数据是可以爬取的,哪些数据是不可以爬取的。 要查看一个网站的robots.txt,只需要访问“网站域名。
urlib库中的robotparser模块提供了一个类RobotFileParser解析网站的robots.txt文 件来判断一个爬取爬虫是否有权限来爬取这个网页。