Python爬虫 之UA伪装

网页采集器-UA伪装

一、UA的概念

UA指的是User-Agent,这是一个请求头信息,是请求载体的身份标识。

二、UA检测(反爬机制)

门户网址的服务器会检测对应请求载体身份标识。
如果检测到请求的载体身份标识为某一款浏览器,意味这当前的用户请求是一个通过浏览器发起的正常的请求。说明是一个正常的请求(用户通过浏览器发出的请求)。
但是,如果检测到的请求的载体身份标识不是基于某一款浏览器的,则表示该请求为一个不正常的请求(是一个爬虫请求)。则服务器端很有可能拒绝该次请求。
为了让我们的请求每次都成功,我们要进行UA伪装。

三、UA伪装(反反爬策略)

让爬虫对应的请求载体身份标识伪装成某一款浏览器。
方法:将对应的User-Agent封装到一个字典中。

四、项目实例

需求:
简易网页采集器。通过输入一个关键词,来爬取搜狗浏览器该关键词的页面信息,同时使用UA伪装来伪装自己的载体身份。

代码实现:

import requests

if __name__ == '__main__':
    url = 'https://www.sogou.com/web'
    # UA伪装:将User-Agent封装到一个字典中
    # 可以是任意的浏览器头信息
    header = {
       'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.25 Safari/537.36 Core/1.70.3775.400 QQBrowser/10.6.4208.400'
    }
    # 处理url携带的参数:封装到字典中
    kw = input('请输入要查找用户的名字信息:(如Water_Coder)')
    param = {
        'query':kw
    }
    # 对指定的url发起的请求对应的url是携带参数的,并且请求过程中处理了参数
    # headers是当前发起载体的身份标识
    # 当前爬取信息的不再是一个爬虫程序,而是伪装成了一个浏览器
    response = requests.get(url=url,params=param,headers=header)
    page_text = response.text
    # 打印爬取到的信息
    print(page_text)
    print('信息爬取成功!!!')
  • 4
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值