方法一,定义一个存放请求头的列表,并从中随机获取请求头:

获取请求头的网址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框架随机请求头中间件的设置相关推荐

  1. python使用get和post方法_Python爬虫之GET和POST请求然后正确运用详解

    爬虫--GET请求和POST请求 urllib.parse.urlencode()和urllib.parse.unquote() 编码工作使用urllib.parse的urlencode()函数,帮我 ...

  2. python中not加变量是_Python -- 语法和变量

    小Q:风一更,雪一更,聒碎乡心梦不成,故园无此声.           ----纳兰容若<长相思> -------------------------------------------- ...

  3. python中的网页解析器_python爬虫初探(三):HTML解析器

    爬虫初探系列一共4篇,耐心看完,我相信你就能基本了解爬虫是怎样工作的了,目录如下: 代码已上传至github,在python2.7下测试成功(请原谅我浓浓的乡村非主流代码风格)summerliehu/ ...

  4. [转载] python中for语句用法_详解Python中for循环的使用_python

    参考链接: 在Python中将else条件语句与for循环一起使用 这篇文章主要介绍了Python中for循环的使用,来自于IBM官方网站技术文档,需要的朋友可以参考下 for 循环 本系列前面 &q ...

  5. python中for语句用法_详解Python中for循环的使用_python

    这篇文章主要介绍了Python中for循环的使用,来自于IBM官方网站技术文档,需要的朋友可以参考下 for 循环 本系列前面 "探索 Python,第 5 部分:用 Python 编程&q ...

  6. python中异或怎么算_python 异或运算的前提_异或运算公式

    Python基础(10)–数字-Python-第七城市 609x288 - 73KB - JPEG Python基础(10)--数字_资讯_突袭网 609x288 - 33KB - JPEG pyth ...

  7. python中num是什么意思_python中的number类型

    python中的number具体分为: int(有符号整型) long(长整型[也可以代表八进制和十六进制]) float(浮点型) complex(复数) 变量命名: a=1 整数型 b=1.0 浮 ...

  8. python 爬虫 请求网页内容不一致_Python爬虫偷懒神器 — 快速构造请求头!

    点击"Python编程与实战",选择"置顶公众号" 第一时间获取 Python 技术干货! 我们在写爬虫构建请求的时候,不可避免地要添加请求头( headers ...

  9. python中requests的常用方法_Python爬虫简介(2)——请求库的常用方法及使用,python,入门,二,requests,常见,和,库中,文官,网...

    前言 学习使我快乐,游戏使我伤心.今天rushB,又是白给的一天. HXDM,让我们一起学习requests库的方法和使用,沉浸在代码的世界里.呜呜呜~~ 一.requests库介绍 首先列出requ ...

最新文章

  1. mysql safe无法启动_(转)mysqld_safe无法启动的解决办法
  2. 蜡笔小新里的钢达姆机器人怎么画_写字机器人好用吗? 组装就花了5个小时 还要学习软件、录入字体...
  3. 【转】String.format详解
  4. Hibernate的CRUD重用性
  5. 【Spring 持久层】Spring 事务开发、事务属性详解
  6. angular 点菜_JavaScript实现的select点菜功能示例
  7. DVWA 黑客攻防演练(十二) DOM型 XSS 攻击 DOM Based Cross Site Scripting
  8. 《羊了个羊》创始人被母校制成展牌......
  9. Flash CS4 Professional 10.0.2简体中文版下载地址
  10. 世界首例AI同性婚姻惊呆众人 | Siri和Alexa结婚了
  11. 用Python中的VTK库导入并显示Assembly的STL文件
  12. 计算机ps计划,ps教学计划
  13. 阿里ACP云计算认证快速通关分享
  14. 微信公众号开发模式开启总结
  15. FPGA中CDC问题
  16. layui table 获取单元格总是多一个
  17. 程序员必备狂拽炫酷吊炸天的动效神器
  18. CDN 缓存与浏览器缓存
  19. 堆排序、归并排序、快速排序
  20. ternary content-addressable memory (TCAM)

热门文章

  1. jmeter(十六)配置元件之计数器
  2. 微服务之旅的经验分享
  3. ABP源码分析四十:ZERO的Application和Tenant
  4. 图论--有向图强连通分量的标记及缩点模板
  5. TSQL--查找连续登陆用户
  6. 微软操作系统总裁:Win8应用商店是发展必然
  7. 读书:《从零到百亿-Facebook创业故事》
  8. protect db by denying DDL operations
  9. 不同程序语言的注释和变量要求
  10. MySQL面试题中:主从同步的原理