网络爬虫的常用技术
请求headers外理、网络超时、代理服务1、请求 headers 外理
有时在请求一个网页内容时,发现无论通过 GET 或者是 POST 以及其他请求方式,都会出现 403错误。产生这种错误是由于该网页为了防止恶意采集信息而使用了反爬虫设置,从而拒绝了用户的访问。此时可以通过模拟浏览器的头部信息来进行访问,这样就能解决以上反爬设置的问题。下面以 requests 模块为例介绍请求头部 headers 的处理,具体步骤如下:
(1)通过浏览器的网络监视器查看头部信息,首先通过火狐浏览器打开对应的网页地址,然后按<Ctrl + Shift + E>快捷键打开网络监视器,再刷新当前页面,网络监视器将显示如下图所示的数据变化。
(2)选中第一条信息,右侧的消息头面板中将显示请求头部信息,然后复制该信息,如下图所示:
(3)实现代码,首先创建一个需要爬取的url地址,然后创建 headers 头部信息,再发送请求等待响应,最后打印网页的代码信息。实现代码如下:
import requests ur = 'https://www.baidu.com/' headers = {'User-Agent': 'Mozi11a/5.e(windows NT 6.1;W.) Gecko/20100101 Firefox/ 59.0'} #创建头部信息 response = requests.get(url, headers=headers) #发送网络请求 print(response.content) #以字节流形式打印网页源码
2、网络超时
在访问一个网页时,如果该网页长时间未响应,系统就会判断该网页超时,所以无法打开网页,下面通过代码来模拟一个网络超时的现象,代码如下:
本文未完全显示,开通会员查看全文......