教大家一个Python爬虫强大又实用的库-Requests库

教大家一个Python爬虫强大又实用的库-Requests库

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

教大家一个Python爬虫强大又实用的库-Requests库

安装

pip install requests

导入

import
 requests

主要方法

教大家一个Python爬虫强大又实用的库-Requests库

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

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

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

教大家一个Python爬虫强大又实用的库-Requests库

使用

教大家一个Python爬虫强大又实用的库-Requests库

返回

教大家一个Python爬虫强大又实用的库-Requests库

封装通用方法

  • 定义函数
  • 设置超时
  • 异常处理

教大家一个Python爬虫强大又实用的库-Requests库

参数和headers

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

常见的请求头

  • Accept:
  • Accept-Encoding:
  • Accept-Language:
  • Connection:
  • Cookie:
  • Host:
  • Referer:
  • User-Agent:

教大家一个Python爬虫强大又实用的库-Requests库

爬虫协议

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

  • 什么是爬虫协议:告诉爬虫机器人哪些页面可以抓取,哪些页面不可以抓取
  • 如何查看爬虫协议:在网站根域名后加上robots.txt,如淘宝的爬虫协议:https://www.taobao.com/robots.txt
  • 了解更多爬虫协议: robots协议

robots.txt语法:

教大家一个Python爬虫强大又实用的库-Requests库

robots.txt实例:

教大家一个Python爬虫强大又实用的库-Requests库

需要注意的是:

  • 如果指定了某个机器人的规则,对于所有机器人的规则对该机器人就不起作用。
  • robots.txt 不是命令,也不是防火墙,只是一个“君子协议”, 无法阻止恶意闯入。

学会了吗?

教大家一个Python爬虫强大又实用的库-Requests库

相关推荐