python爬虫 学习笔记一-----开篇前言

python这门语言能干很多有意思的事情,其中最典型的就是做网络爬虫,如果你想开始入手一点小项目,不妨就和我一起深入研究一下。

网络爬虫是什么?

网络爬虫的基本定义网上有我就不说了,那么我简单说一下我对网络爬虫的理解吧。网络爬虫其实就是一个可以爬取网站信息的小程序,并且你可以将这些信息保存下来,形成自己的数据库,毕竟python的核心优点就是对数据的处理和分析,数据的来源自然不能通过手工获得了,这时我们就需要爬虫来帮我们去做这些事了,他也分为很多等级,由于个人实力问题,这篇学习笔记将不会延展到企业级爬虫。

Robots协议

 

首先,我们需要了解到,爬虫,也是“盗亦有道”的,每个网站都有自己的robots.txt文件,这个文件,是我们建议执行的文件访问方式是 URL+/robots.txt就可以查看了。

下面我们来做个实例:

那么这代表了什么意思呢?

User-agent: * 这里的*代表的所有的搜索引擎种类,*是一个通配符

Disallow: /admin/ 这里定义是禁止爬寻admin目录下面的目录

Disallow: /require/ 这里定义是禁止爬寻require目录下面的目录

Disallow: /ABC/ 这里定义是禁止爬寻ABC目录下面的目录

Disallow: /cgi-bin/*.htm 禁止访问/cgi-bin/目录下的所有以".htm"为后缀的URL(包含子目录)。

Disallow: /*?* 禁止访问网站中所有包含问号 (?) 的网址

Disallow: /.jpg$ 禁止抓取网页所有的.jpg格式的图片

Disallow:/ab/adc.html 禁止爬取ab文件夹下面的adc.html文件。

Allow: /cgi-bin/ 这里定义是允许爬寻cgi-bin目录下面的目录

Allow: /tmp 这里定义是允许爬寻tmp的整个目录

Allow: .htm$ 仅允许访问以".htm"为后缀的URL。

Allow: .gif$ 允许抓取网页和gif格式图片

Sitemap: 网站地图 告诉爬虫这个页面是网站地图

也就是说对于任意的搜索引擎我都不允许你爬取我的这些目录下的内容。

Robots起到了一定的约束作用,但是!并不能强制执行,因此你可以不遵循这个文件进行相关的操作。

以上就是有关robot协议的相关内容,更多的例子,我们之后还会讲到。

网站地图

什么叫做网站地图呢?网站地图就是包含所有网页的链接,我们可以通过使用网站地图来帮助爬虫定位网站最新的内容二不必爬取每一个网页。

那么网站地图在什么地方获取呢?现在返回到之前我给大家的第一张图,最底下有一个:sitemap:+url的链接,url就是我们需要找的网站地图的网址,现在我们打开看一下。

从这个里面我们可以看到他是类似于一种日志信息的格式进行输出的我们可以卡可能到最新的就是第一条,找到他然后打开就好了。

估算网站大小

我们在初期的时候,可能并不会有这样的问题,但是当我们以后深入学习时,可能会遇到拥有数百万个网页的站点,使用串行下载可能并不是会有很高的效率,我们就要使用分布式的下载方式。

估算一个网站大小的简便方法,我们就可以使用Google爬虫的结果,因为Google可能爬取过我们感兴趣的网站,我们可以直接调用这个API简化我们自己的工作。我们可以通过使用www.google.com/advance_search来查看更多相关信息。

识别网站所用技术

这里牵扯到使用一个库名字叫做builtwith库,我们可以在命令行中使用pip install builtwith进行安装也可以通过安装Anconda进行直接使用,以后们所使用的工具均为Anconda 中的spyder工具,下面我们看一下实验现象:

我们拿第二个举例子:就是说明了我使用了python的Web2py框架,编写的语言是python等等,这样就可以了,至于其他的具体含义,我们之后再解释。

以上就是我们今天进行学习的全部内容,暂时还没有牵扯到编程,我们从第二篇博客开始将会进入爬虫编写的课堂。

       

猜你喜欢

转载自blog.csdn.net/qq_39760343/article/details/83118477