python爬虫模拟浏览器的两种方法_python3爬虫的模拟浏览器
爬虫的使用过程中,网站最简单的反爬虫就是验证发起请求的客户端是否为浏览器,因此需要爬虫模拟浏览器对网站发起请求。
这里介绍一个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字段即可
python爬虫模拟浏览器的两种方法_python3爬虫的模拟浏览器相关推荐
- python爬虫模拟浏览器的两种方法_python爬虫模拟浏览器访问-User-Agent过程解析
这篇文章主要介绍了python爬虫模拟浏览器访问-User-Agent过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 模拟浏览器访问-Use ...
- python怎么模拟浏览器交互_干货分享:python爬虫模拟浏览器的两种方法实例分析(赶紧收藏)...
今天为大家带来的内容是:干货分享:python爬虫模拟浏览器的两种方法实例分析(赶紧收藏) 文章主要介绍了python爬虫模拟浏览器的两种方法,结合实例形式分析了Python爬虫模拟浏览器的两种常见操 ...
- 站长在线Python精讲:在Python中格式化字符串的两种方法详解
欢迎你来到站长在线的站长学堂学习Python知识,本文学习的是<在Python中格式化字符串的两种方法详解>.本知识点主要内容有:使用%操作符格式化字符串和使用format()方法格式化字 ...
- python文字教程-Python在图片中添加文字的两种方法
本文主要介绍的是利用Python在图片中添加文字的两种方法,下面分享处理供大家参考学习,下来要看看吧 一.使用OpenCV 在图片中添加文字看上去很简单,但是如果是利用OpenCV来做却很麻烦.Ope ...
- python自带的shell是什么-python中执行shell的两种方法总结
一.使用python内置commands模块执行shell commands对Python的os.popen()进行了封装,使用SHELL命令字符串作为其参数,返回命令的结果数据以及命令执行的状态: ...
- python 手动安装包的两种方法
python 手动安装包的两种方法 对于 .tar.gz 的包来说 解压缩文件 aaaxxxx-1.0.1.tar.gz 移动到压缩文件所在目录 使用tar -zxvf aaaxxxx-1.0.1.t ...
- python list列表排序的两种方法及实例讲解
对List进行排序,Python提供了两个方法 方法1.用List的内建函数list.sort进行排序 list.sort(func=None, key=None, reverse=False) Py ...
- sqrt函数模拟实现的两种方法
起因:在leetcode刷题时,有一道题目考察了有关sqrt的原理的题目,当时就去查了网上的文章,结果发现,一开始的时候看的很懵,最后也是搞定了两种方法,今天我就以最简单的方式写下这两种方式的思路讲解 ...
- python 修改文件创建时间_python 两种方法修改文件的创建时间、修改时间、访问时间...
突如其来想知道一下 python 如何修改文件的属性(创建.修改.访问时间),于是就去网上搜集了可行方案,也就有了这篇博客 方案一 from win32file import CreateFile, ...
- python生成requirements.txt的两种方法
python项目如何在另一个环境上重新构建项目所需要的运行环境依赖包? 使用的时候边记载是个很麻烦的事情,总会出现遗漏的包的问题,这个时候手动安装也很麻烦,不能确定代码报错的需要安装的包是什么版本.这 ...
最新文章
- java i18n实例_Java SpringMVC实现国际化整合案例分析(i18n) 专题
- 通过组策略和注册表关闭win7 UAC。
- python 类的绑定方法和非绑定方法
- NYOJ_1013除法表达式
- 人工蜂群算法_如果你的团队能够像人工蜂群一样战斗
- [leveldb] 3.put/delete操作
- PHP的time函数返回时间不正确
- 设计模式之禅之六大设计原则-依赖倒置原则
- AI岗位秋招纪实:算法原理扎实才是王道,而不是调参
- 笨方法“学习python笔记之条件控制
- SAP License:SAP评论
- 【Qtcreator】qtcreator的基本使用方法
- ElementUI:input表单验证
- 使用安卓的http进行数据的发送需要做的首先就是授权
- 计算机二级公共基础知识(四)—— 数据库设计基础
- 逆向工具IDA安装教程
- 开心盒子助手3.0版|开心盒子助手工具3.0电脑版
- html支付宝图标,支付宝小程序基础组件 图标·Icon
- python实现mysql多条件查询筛选功能
- 【数学逻辑思维】好玩的数独游戏(高难度版)——003