python中scrapy加请求头_Python爬虫之scrapy框架随机请求头中间件的设置
方法一,定义一个存放请求头的列表,并从中随机获取请求头:
获取请求头的网址http://www.useragentstring.com/pages/useragentstring.php?name=All
import random
class UserAgentDownloadMiddleware(object):
USER_AGENTS = [
'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.77 Safari/537.36',
'Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML like Gecko) Chrome/44.0.2403.155 Safari/537.36',
'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.36',
'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2227.1 Safari/537.36',
'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2227.0 Safari/537.36',
'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2227.0 Safari/537.36',
'Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2226.0 Safari/537.36',
'Mozilla/5.0 (Windows NT 6.4; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2225.0 Safari/537.36',
'Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2225.0 Safari/537.36',
'Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2224.3 Safari/537.36',
'Mozilla/5.0 (Windows NT 10.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.93 Safari/537.36',
'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2062.124 Safari/537.36'
]
def process_request(self,request,spider):
user_agent = random.choice(self.USER_AGENTS)
request.headers['User-Agent'] = user_agent
方法二,通过fake_useragent模块随机获取请求头
from fake_useragent import UserAgent
class UserAgentDownloadMiddleware(object):
def process_request(self,request,spider):
user_agent = UserAgent().random
request.headers['User-Agent'] = user_agent
python中scrapy加请求头_Python爬虫之scrapy框架随机请求头中间件的设置相关推荐
- python使用get和post方法_Python爬虫之GET和POST请求然后正确运用详解
爬虫--GET请求和POST请求 urllib.parse.urlencode()和urllib.parse.unquote() 编码工作使用urllib.parse的urlencode()函数,帮我 ...
- python中not加变量是_Python -- 语法和变量
小Q:风一更,雪一更,聒碎乡心梦不成,故园无此声. ----纳兰容若<长相思> -------------------------------------------- ...
- python中的网页解析器_python爬虫初探(三):HTML解析器
爬虫初探系列一共4篇,耐心看完,我相信你就能基本了解爬虫是怎样工作的了,目录如下: 代码已上传至github,在python2.7下测试成功(请原谅我浓浓的乡村非主流代码风格)summerliehu/ ...
- [转载] python中for语句用法_详解Python中for循环的使用_python
参考链接: 在Python中将else条件语句与for循环一起使用 这篇文章主要介绍了Python中for循环的使用,来自于IBM官方网站技术文档,需要的朋友可以参考下 for 循环 本系列前面 &q ...
- python中for语句用法_详解Python中for循环的使用_python
这篇文章主要介绍了Python中for循环的使用,来自于IBM官方网站技术文档,需要的朋友可以参考下 for 循环 本系列前面 "探索 Python,第 5 部分:用 Python 编程&q ...
- python中异或怎么算_python 异或运算的前提_异或运算公式
Python基础(10)–数字-Python-第七城市 609x288 - 73KB - JPEG Python基础(10)--数字_资讯_突袭网 609x288 - 33KB - JPEG pyth ...
- python中num是什么意思_python中的number类型
python中的number具体分为: int(有符号整型) long(长整型[也可以代表八进制和十六进制]) float(浮点型) complex(复数) 变量命名: a=1 整数型 b=1.0 浮 ...
- python 爬虫 请求网页内容不一致_Python爬虫偷懒神器 — 快速构造请求头!
点击"Python编程与实战",选择"置顶公众号" 第一时间获取 Python 技术干货! 我们在写爬虫构建请求的时候,不可避免地要添加请求头( headers ...
- python中requests的常用方法_Python爬虫简介(2)——请求库的常用方法及使用,python,入门,二,requests,常见,和,库中,文官,网...
前言 学习使我快乐,游戏使我伤心.今天rushB,又是白给的一天. HXDM,让我们一起学习requests库的方法和使用,沉浸在代码的世界里.呜呜呜~~ 一.requests库介绍 首先列出requ ...
最新文章
- mysql safe无法启动_(转)mysqld_safe无法启动的解决办法
- 蜡笔小新里的钢达姆机器人怎么画_写字机器人好用吗? 组装就花了5个小时 还要学习软件、录入字体...
- 【转】String.format详解
- Hibernate的CRUD重用性
- 【Spring 持久层】Spring 事务开发、事务属性详解
- angular 点菜_JavaScript实现的select点菜功能示例
- DVWA 黑客攻防演练(十二) DOM型 XSS 攻击 DOM Based Cross Site Scripting
- 《羊了个羊》创始人被母校制成展牌......
- Flash CS4 Professional 10.0.2简体中文版下载地址
- 世界首例AI同性婚姻惊呆众人 | Siri和Alexa结婚了
- 用Python中的VTK库导入并显示Assembly的STL文件
- 计算机ps计划,ps教学计划
- 阿里ACP云计算认证快速通关分享
- 微信公众号开发模式开启总结
- FPGA中CDC问题
- layui table 获取单元格总是多一个
- 程序员必备狂拽炫酷吊炸天的动效神器
- CDN 缓存与浏览器缓存
- 堆排序、归并排序、快速排序
- ternary content-addressable memory (TCAM)