首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Python爬取数据之Requests库

爬虫三步走包括爬取数据、解析数据和保存数据,Python强大之处就是每一步都提供了强大的库,我们只要使用对应的库,就能把网站中想要的数据爬取下来。第一步爬取数据,最常用的就是Requests库。Requests库主要的功能是模拟浏览器向网站发起HTTP请求,把整个网页的HTML代码爬取下来,下面介绍下Requests库的使用流程。

安装

导入

主要方法

一个HTTP请求通常包括URL和请求方法,URL指的是统一资源定位符,可以理解成一个网络上的资源;而常用的请求方法有get、post、put、delete、patch,分别代表对资源的获取、创建、创建和更新、删除、部分更新。head指只获取头信息。

一个HTTP方法有安全和幂等两个属性,其中安全指的是不修改资源的HTTP方法;幂等指的是无论调用多少次,结果仍然相同。

下面是一些常用的HTTP方法的安全性和幂等性:

更详细的可查看: RESTful手册

使用

返回

更多状态码查看: HTTP状态码

封装通用方法

定义函数

设置超时

异常处理

参数和headers

一般网页的反爬机制是通过检查请求头信息实现的,当发现要爬取的网页headers跟一般的请求头不一致时,我们需要添加headers来达到模拟浏览器发起请求,才能成功获取数据。有时候也需要传参数,比如翻页参数等。

常见的请求头

Accept:

Accept-Encoding:

Accept-Language:

Connection:

Cookie:

Host:

Referer:

User-Agent:

爬虫协议

搜索引擎的蜘蛛机器人(spider)对网站进行爬行并索引网页,并随后通过关键字搜索为网站带来流量,但是有些私密的或是不适宜公开的信息或数据不希望被爬取,这时候就需要robots.txt了,通过它对搜索引擎给予指示,限制搜索引擎对特定内容的访问。

什么是爬虫协议:告诉爬虫机器人哪些页面可以抓取,哪些页面不可以抓取

如何查看爬虫协议:在网站根域名后加上robots.txt,如淘宝的爬虫协议:https://www.taobao.com/robots.txt

了解更多爬虫协议: robots协议

robots.txt语法:

robots.txt实例:

需要注意的是:

如果指定了某个机器人的规则,对于所有机器人的规则对该机器人就不起作用。

robots.txt 不是命令,也不是防火墙,只是一个“君子协议”, 无法阻止恶意闯入。

下一篇将会进行实战,爬取一些知名的网站。看看它们的反爬机制是怎样的,能不能爬取到我们想要的数据。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181230G191OR00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券