python爬取数据UA伪装策略(反反爬机制)

爬虫能获取到网上的各种信息,那当然就会有很多公司,不想要自己的资源被其他人随随便便的获取。所以,就会有很多平台,会去设置一些反爬虫的手段。
User-Agent:简称 UA,它是一个特殊字符串头,使得服务器能够识别客户使用的操作系统及版本、CPU 类型、浏览器及版本、浏览器渲染引擎、浏览器语言、浏览器插件等等。

也就是说,假设:一个平台,设置了UA权限,必须以浏览器进行访问

当你使用爬虫脚本去访问该网站的时候,就会出现,访问失败、没有权限、或者没有任何资源返回的结果等错误信息。
比如以下代码,想要直接爬取数据就会爬取失败

import requests
if __name__ == '__main__':
    url = 'https://www.sogou.com/tx'
    kw = input('enter a word:')
    param = {
        'query': kw
    }
    response = requests.get(url=url, params=param)
    page_text = response.text
    fileName = kw + '.html'
    with open(fileName, 'w', encoding='utf-8') as fp:
        fp.write(page_text)
    print(kw + '.html保存成功,数据爬取成功')

在这里插入图片描述
在这里插入图片描述
那么我们要怎么获取到User-Agent呢?
在自己的浏览器右键–检查,点击Network,可以查找User-Agent
在这里插入图片描述
我们在爬取过程中只需要将User-Agent封装在字典里,代码如下

import requests

# UA 检测:某些门户网站会对访问该网站的请求中的User-Agent进行捕获和判断,如果该请求的UA为爬虫程序,那么就拒绝该提供请求数据。
# UA 伪装:将爬虫的UA伪装成某一款浏览器的身份标识
if __name__ == '__main__':
    headers = {
        'User-Agent': 'Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) '
                      'Chrome/70.0.3538.25 Mobile Safari/537.36 '
    }
    url = 'https://www.sogou.com/tx'
    kw = input('enter a word:')
    param = {
        'query': kw
    }
    response = requests.get(url=url, params=param, headers=headers)
    page_text = response.text
    fileName = kw + '.html'
    with open(fileName, 'w', encoding='utf-8') as fp:
        fp.write(page_text)
    print(kw + '.html保存成功,数据爬取成功')

在这里插入图片描述
成功爬取到数据。

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值