今天在学习爬虫入门的过程中,遇到了百度的反爬(发送请求无法得到内容,出现“网络不给力,稍后重试”或者“百度安全验证”)。写一下当时的解决方案.
最基础的导入,发送请求和打印数据如下。
#导入模块
import requests
# 发送get请求
response = requests.get('https://www.baidu.com')
#从响应中获得数据
print(response.text)
一开始的时候headers 里面只写了User-Agent,但可能这样太容易被识别出来,后面又添加了Accept,Accept-Language,以及Cookie 后,就可以得可以得到内容了。 同时要注意不要请求太快。
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4577.63 Safari/537.36',
'Accept':'相应页面的Accept'
'Accept-Language':'相应的Accept-Language',
'Cookie': '相应的Cookie'
}
# url
url = 'http://www.baidu.com/s'