欢迎光临散文网 会员登陆 & 注册

Python爬虫(初识篇)

2023-08-29 11:15 作者:仰望星空城Live  | 我要投稿

 1.爬虫介绍

网络爬虫,又称为网页蜘蛛,网络机器人,是由代码编写,按照一定的规则,自动抓取互联网信息的程序或者脚本。Python由于简单易用的特性,深受程序员的喜爱,特别适合用于爬虫。在Python语言中,三行代码就可以写一个简单的爬虫程序,这是其他编程语言无法企及的。

2.爬虫原理

(1)浏览器发送请求给服务器,请求方式主要分为GET,POST两种类型。

(2)服务器接收到浏览器发送的请求后,根据请求内容做出相应处理,然后把消息回复给浏览器。

(3)浏览器收到服务器的响应信息后,会对信息进行相应处理,然后展示给用户。

我们编写爬虫程序,就是模拟浏览器,给服务器发送请求,然后获取服务器响应的数据,并对数据进行分析与处理。
 

爬虫原理

3.爬虫协议

网站出于安全和隐私考虑,可以建立一个robots.txt文件,来告诉搜索引擎哪些页面可以爬取,哪些页面不能爬取,而搜索引擎则通过读取robots.txt文件来识别这个页面是否允许被爬取。这是个约定俗成的“君子协议”,我们在爬取网站数据时一定要遵守。比如:我们可以通过输入网址 https://www.baidu.com/robots.txt 来查看百度的robots协议。

robots协议

4.小试牛刀

光说不练假把式,看了这么多,我们先写个最简单的爬虫程序试一下吧。Python爬虫离不开requests包,这个库是第三方的,如果没有的话,可以在cmd命令行执行语句:pip install requests。

然后输入以下代码:

响应内容如下,这就说明我们爬取成功了

爬取成功

如果把前面的头文件去掉,再请求会怎样?

我们发现响应的内容有问题,说明这次爬取,让服务器觉察到我们了。

爬取失败

服务器为什么能觉察到我们呢?当然是缺少请求头文件了

5.User-Agent

请求头里最重要的元素就是User-Agent(用户代理)。网站服务器通过识别 UA来确定用户所使用的操作系统版本、CPU 类型、浏览器版本等信息,进而给不同的用户回复相应的页面。因此,服务器可通过识别请求头中 User-Agent 信息来判断本次请求是否是爬虫行为。如果是,服务器就会回复不相干的信息,甚至限制其IP访问。所以我们在爬取的时候尽量加上头文件headers,并在headers字典中加入User-Agent,这样才能让我们的程序模拟浏览器访问网站。

Python爬虫(初识篇)的评论 (共 条)

分享到微博请遵守国家法律