python可以做仿真吗agent_python爬虫之伪装User-Agent

因为爬虫的需要,所以需要多个user-agent,之前一直也是这样用的,后来接触到了fake_useragent这个包后,一切都变得那么简单简单了,fake_useragent是一个集成了市面上大部分的user-agent,可以指定浏览器,也可随机生成任意一个

在工作中进行爬虫时,经常会需要提供User-Agent,如果不提供User-Agent,会导致爬虫在请求网页时,请求失败,所以需要大量User-Agent。如何生成合法的User-Agent?

使用fake-useragent库就可以解决该问题。安装:pip install fake-useragent

模块下载

这里简单做个生成指定浏览器的请求头from fake_useragent import UserAgent      #

fake_useragent模块 user-agent的获取

ua = UserAgent()        # 实例化,实例化时需要联网但是网站不太稳定

print(ua.ie)

# 随机打印一个 ie 浏览器的头

print(ua.opera)

print(ua.chrome)

print(ua.google)

print(ua.firefox)

print(ua.safari)

print(ua.random)

# 随机打印 User-Agent

而在工作中常用的则是ua.random

我是这样来使用的from fake_useragent import UserAgent

import requests

ua = UserAgent()

headers = {

'User-Agent': ua.random

}

url = 'https://www.baidu.com/'

response = requests.get(url, headers=headers)

print(response.status_code)

》》》 200

url定义要爬取网址,然后headers是user-agent,cook是cookie,cookie就是你登录一个网页时提交的密码,密码向网页提交的登陆数据,简单来说,cookie就是制作一个假身份骗过海关。利用get函数提交url、cookies和headers,然后接下来就可以肆无忌惮爬取你想要的数据了。

当然网站会有很多的反爬机制,需要随机应变,至于为什么要使用我写的这个办法爬取网站,是因为很多网站都会对Headers的User-Agent进行检测,还有一部分网站会对Referer进行检测(一些资源网站的防盗链就是检测Referer)。如果遇到了这类反爬虫机制,可以直接在爬虫中添加Headers,将浏览器的User-Agent复制到爬虫的Headers中;或者将Referer值修改为目标网站域名。对于检测Headers的反爬虫,在爬虫中修改或者添加Headers就能很好的绕过。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值