python爬虫模拟与思考_python3爬虫的模拟浏览器

本文介绍了在爬虫中如何通过fake-useragent库来模拟浏览器发送请求,以应对网站的反爬策略。通过安装并使用fake-useragent,可以随机生成不同浏览器的UserAgent字符串,例如Chrome、Firefox、Opera等。随机变化的User-Agent可以在爬虫中增加其隐蔽性,避免被目标网站识别。示例代码展示了如何生成和使用这些随机UserAgent。
摘要由CSDN通过智能技术生成

爬虫的使用过程中,网站最简单的反爬虫就是验证发起请求的客户端是否为浏览器,因此需要爬虫模拟浏览器对网站发起请求。

这里介绍一个fake_useraent

1、伪造useragent字符串,每次请求都使用随机生成的useragen

为了减少复杂度,随机生成UA的功能通过第三方模块库fake-useragent实现,使用pip进行安装

pip install fake-useragent

2、生成一个useragen字符串只需要如下代码

from fake_useragent import UserAgent

ua = UserAgent()

各浏览器的User-Agent

这个库还有一个其他的功能,就是可以随机各浏览器的的useragen:

print(ua.ie)

Mozilla/5.0 (Windows; U; MSIE 9.0; Windows NT 9.0; en-US)

Opera浏览器的useragen:

print(ua.opera)

Opera/9.80 (Windows NT 6.1; U; zh-cn) Presto/2.6.37 Version/11.00

Chrome浏览器的useragen:

print(ua.chrome)

Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.2 (KHTML, like Gecko) Chrome/22.0.1216.0 Safari/537.2

Firefox浏览器的useragen:

print(ua.firefox)

Mozilla/5.0 (Windows NT 6.2; Win64; x64; rv:16.0.1) Gecko/20121011 Firefox/16.0.1

Safari浏览器的useragen:

print(ua.safari)

Mozilla/5.0 (iPad; CPU OS 6_0 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Version/6.0 Mobile/10A5355d Safari/8536.25

随机User-Agent

写爬虫最实用的就是可以随意变换headers,一定要有随机性

在这里写了三个随机生成UA,三次打印都不一样,随机性很强,十分方便

print(ua.random)

print(ua.random)

print(ua.random)

Mozilla/5.0 (X11; CrOS i686 3912.101.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/27.0.1453.116 Safari/537.36

Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/537.36 (KHTML, likeGecko) Chrome/37.0.2062.124 Safari/537.36

Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1664.3 Safari/537.36

Ps:也可以自己写一个useragen列表用于random作为useragent

这里是代码案例:

#用于爬取的url

from fake_useragent import UserAgent

from bs4 import *

import requests

url="http://baidu.com"

ua = UserAgent()

a=ua.random #随机的一个user-agent

headers={

"User-Agent": a

}

res=requests.get(url,headers=headers) #获取网页内容

t=res.text #返回的响应字符串

#这里模拟的时候只需要写user-agent字段即可

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值