进阶操作2
通过添加头部信息User-agent 来模仿浏览器
===因为在正常的请求信息过程中,你的浏览器信息会随着请求一起发送到目标url 地址后台因此 如果想要不被那么轻易的发现要先学会伪装自己的请求
同样以urllib 库来进行演示
# 1. 首先确定要爬取的网址的url
url = "http://www.baidu.com"
# 2. 向服务器发送请求
# 2.1 这里不同的一点是我们需要创建一个请求对象 在上一章中是没有创建请求对象的 这里使用urllib.request.Request() 的方法创建一个请求对象
# 其中包含的参数有请求的url, header, data 等信息
# 3. 创建一个header
header = {
# 浏览器的版本
"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.96 Safari/537.36"
}
# headers 传递伪装浏览器的信息
request = urllib.request.Request(url, headers=header)
# 传递headers之后我们就伪装成了一个版本为header的浏览器
# 然后再发送请求 传递参数 请求对象
response = urllib.request.urlopen(request)
# 最后对获取到的数据进行解析
data = response.read().decode('utf-8')