UA伪装(User-Agent Spoofing)是指在网络通信中修改或伪装用户代理(User-Agent)字段的行为。通过UA伪装,可以欺骗服务器,让他认为我们不是python爬虫,从而可以让我们爬取相关的网站页面
写一段简单的程序
import requests
if __name__ == "__main__":
url = 'https://www.sogou.com/web?query=%E5%9C%86%E5%91%A8%E7%8E%87'
b = requests.get(url=url)
c = b.text
fileName ='hi.html'
with open(fileName, 'w', encoding='utf-8') as fp:
fp.write(c)
print(fileName, '保存成功!!!')
这里我们试图去爬取以下的页面
图1 要爬取的页面
然后运行
这里会出现一个页面,是需要输入验证码的,如果想要避开这个
图2 爬取失败的页面
可以对我们的代码稍加修改,将爬虫的User-Agent换成自己的,查找自己的User-Agent方法在后面
import requests
if __name__ == "__main__":
url = 'https://www.sogou.com/web?query=%E5%BC%A0%E5%AD%90%E6%9E%AB'
header = {
'User-Agent': '你自己的User-Agent'
}
b = requests.get(url=url, headers=header)
c = b.text
fileName = 'hi.html'
with open(fileName, 'w', encoding='utf-8') as fp:
fp.write(c)
print(fileName, '保存成功!!!')
此时再进行操作就可以成功访问了
图3 爬取成功的页面
另外用户的User-Agent可以根据多种方式取得
1.可以点击鼠标右键,寻找检查,然后随便访问一个页面,选取一个幸运的,点开,复制掉用户的User-Agent
图4 User-Agert查找页面
2.直接搜网页”about://version“
3.按F12
4.找一些抓包工具
参考文献如下