python scrapy之模拟浏览器的随机更换
scrapy中如果你不修改header的话,默认人家服务器会看到你是spider,有可能拒绝你的访问。
1.在settings.py中添加已经设置好的模拟浏览器
RANDOM_USER_AGENT = [ "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; AcooBrowser; .NET CLR 1.1.4322; .NET CLR 2.0.50727)", "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; Acoo Browser; SLCC1; .NET CLR 2.0.50727; Media Center PC 5.0; .NET CLR 3.0.04506)", "Mozilla/4.0 (compatible; MSIE 7.0; AOL 9.5; AOLBuild 4337.35; Windows NT 5.1; .NET CLR 1.1.4322; .NET CLR 2.0.50727)", "Mozilla/5.0 (Windows; U; MSIE 9.0; Windows NT 9.0; en-US)", "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0; .NET CLR 3.5.30729; .NET CLR 3.0.30729; .NET CLR 2.0.50727; Media Center PC 6.0)", "Mozilla/5.0 (compatible; MSIE 8.0; Windows NT 6.0; Trident/4.0; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; .NET CLR 1.0.3705; .NET CLR 1.1.4322)", "Mozilla/4.0 (compatible; MSIE 7.0b; Windows NT 5.2; .NET CLR 1.1.4322; .NET CLR 2.0.50727; InfoPath.2; .NET CLR 3.0.04506.30)", "Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN) AppleWebKit/523.15 (KHTML, like Gecko, Safari/419.3) Arora/0.3 (Change: 287 c9dfb30)", "Mozilla/5.0 (X11; U; Linux; en-US) AppleWebKit/527+ (KHTML, like Gecko, Safari/419.3) Arora/0.6", "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.2pre) Gecko/20070215 K-Ninja/2.1.1", "Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9) Gecko/20080705 Firefox/3.0 Kapiko/3.0", "Mozilla/5.0 (X11; Linux i686; U;) Gecko/20070322 Kazehakase/0.4.5", "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.8) Gecko Fedora/1.9.0.8-1.fc10 Kazehakase/0.5.6", "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.56 Safari/535.11", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_3) AppleWebKit/535.20 (KHTML, like Gecko) Chrome/19.0.1036.7 Safari/535.20", "Opera/9.80 (Macintosh; Intel Mac OS X 10.6.8; U; fr) Presto/2.9.168 Version/11.52", "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.11 (KHTML, like Gecko) Chrome/20.0.1132.11 TaoBrowser/2.0 Safari/536.11", "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.1 (KHTML, like Gecko) Chrome/21.0.1180.71 Safari/537.1 LBBROWSER", "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E; LBBROWSER)", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; QQDownload 732; .NET4.0C; .NET4.0E; LBBROWSER)", "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.84 Safari/535.11 LBBROWSER", "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; WOW64; Trident/5.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E)", "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E; QQBrowser/7.0.3698.400)", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; QQDownload 732; .NET4.0C; .NET4.0E)", "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Trident/4.0; SV1; QQDownload 732; .NET4.0C; .NET4.0E; 360SE)", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; QQDownload 732; .NET4.0C; .NET4.0E)", "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; WOW64; Trident/5.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E)", "Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.1 (KHTML, like Gecko) Chrome/21.0.1180.89 Safari/537.1", "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.1 (KHTML, like Gecko) Chrome/21.0.1180.89 Safari/537.1", "Mozilla/5.0 (iPad; U; CPU OS 4_2_1 like Mac OS X; zh-cn) AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 Mobile/8C148 Safari/6533.18.5", "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:2.0b13pre) Gecko/20110307 Firefox/4.0b13pre", "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:16.0) Gecko/20100101 Firefox/16.0", "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.64 Safari/537.11", "Mozilla/5.0 (X11; U; Linux x86_64; zh-CN; rv:1.9.2.10) Gecko/20100922 Ubuntu/10.10 (maverick) Firefox/3.6.10", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36",]
2.在middlewares.py中新增一个类
class RandomUserAgentMiddleware(object):
def __init__(self, user_agent): self.user_agent = user_agent
@classmethod def from_crawler(cls, crawler): return cls( user_agent=crawler.settings.get('RANDOM_USER_AGENT') ) def process_request(self, request, spider): agent = random.choice(self.user_agent) request.headers['User-Agent'] = agent
3.再在settings中设置 DOWNLOADER_MIDDLEWARES
DOWNLOADER_MIDDLEWARES = {'scrapy.downloadermiddleware.useragent.UserAgentMiddleware': None,'homework.middlewares.RandomUserAgentMiddleware': 400,
}
运行后发现每次访问的浏览器是不一样的
python scrapy之模拟浏览器的随机更换相关推荐
- Python+BeautifulSoup+Selenium模拟浏览器循环自动播放视频,如哔哩哔哩某个UP主的视频
1.前言 计算机的出现,推动了人类社会的进步,使得人们更高效的工作或是生活.当我们很"懒"的时候,计算机就能站出来,帮助我们做一些我们觉得浪费时间的事情了.你嫌用手点鼠标麻烦,计算 ...
- Python使用mechanize模拟浏览器
Python使用mechanize模拟浏览器 之前我使用自带的urllib2模拟浏览器去进行访问网页等操作,很多网站都会出错误,还会返回乱码,之后使用了 mechanize模拟浏览器,这些情况都没出现 ...
- chrome动态ip python_简单python代码实现模拟浏览器操作
首先安装python环境,楼主为python3.6.6 用pip 安装selenium pip install selenium 下面是代码的具体实现: #交互模式 from selenium imp ...
- Python利用Selenium模拟浏览器自动操作
概述 在进行网站爬取数据的时候,会发现很多网站都进行了反爬虫的处理,如JS加密,Ajax加密,反Debug等方法,通过请求获取数据和页面展示的内容完全不同,这时候就用到Selenium技术,来模拟浏览 ...
- Python:mechanize模拟浏览器行为
Python有许许多多有趣的模块,每当自己需要解决某个问题的时候,Python总能冒出来一两个让你惊喜的小玩意.比如说用于数值计算的Numpy(强大而方便的矩阵能力),用于数据分析的Pandas(和R ...
- Python使用selenium模拟浏览器爬取某查查数据
在使用爬虫爬取某查查的数据的时候,会被识别到,进行反爬限制,最后使用selenium模拟浏览器进行爬取. 这里解决办法主要使用selenium打开浏览器,模拟人操作进行爬取,代码: ua = 'Moz ...
- python 模拟浏览器selenium_使用python selenium webdriver模拟浏览器
原博文 2016-12-18 18:26 − selenium是进行web自动化测试的一个工具,支持C,C++,Python,Java等语言,他能够实现模拟手工操作浏览器,进行自动化,通过webdri ...
- python下selenium模拟浏览器常见操作
本文主要记录下selenium的常见操作,如定位具体元素的不同方法.在具体元素内循环.提取文本等.具体代码如下: # -*- coding: utf-8 -*- ''' Created on 2019 ...
- python selenium+Firefox 模拟浏览器操作
glumer Python安装selenium,配置火狐浏览器环境 火狐浏览器直接从网上下载即可, geckodriver的下载链接:https://github.com/mozilla/geckod ...
- python之mechanize模拟浏览器
安装 Windows: pip install mechanize Linux:pip install python-mechanize 个人感觉mechanize也只适用于静态网页的抓取,如果是异步 ...
最新文章
- 这才是面试官想听的:详解「递归」正确的打开方式
- Wcf 基础教程 服务寄宿之 Windows 服务寄宿
- Dart Way 1
- Delphi TXLSReadWriteII导出Excel
- C++安全方向openssl(一):1.1 openssl3.0介绍以及在windows2019下使用vs2019
- Java-占位符的使用
- dnf服务器字体文件,DNF普通伤害字体怎么改为超时空漩涡字体_字体制作方法分享_3DM网游...
- DPDK ipv4 ip分片与重组
- AI 之路、回顾 2021,展望 2022 :当代青年的小烦恼
- Firefly ROC-RK3328-PC 四核64位入门级Mini PC 官方教程矫正经验
- 阿里巴巴云原生网关三位一体的选择与实践
- 操作系统 第6次作业
- MySQL及数据库相关
- Dependency ‘taglibs:standard:1.1.2‘ not found
- 淘系学妹分享阿里的20—60KJava岗位JD,真的太难了
- 【安信可A9G专题⑤】A9G模组AT指令MQTT接入阿里云实现APP控制
- 微信小程序的自动化测试框架
- 金和单点自动判断内外网
- Android 高德地图的定位,周边搜索
- python将fasta格式转为.csv
热门文章
- mysql sniffer 官网下载_MySQL抓包工具:MySQL Sniffer 和性能优化
- 【Linux】U盘配合WinPE 安装debian8.6
- android toast居中显示_Android Toast 设置到屏幕中间以及其他自定义Toast的实现方法...
- VB6实现网页自动化方法(chrome或360极速版)
- 玩转诺基亚5800XM,新手上路指南
- c语言 1 2 3传统流程图,1.3.2 用流程图描述算法
- 【虚拟机VMWare15使用】给虚拟机硬盘添加还原卡//使用物理磁盘做虚拟硬盘
- hd4400 显卡opencore 下的 8个苹果问题解决方法
- 常用软件静默安装参数
- GTK-sopcast 0.2.8