scrapy基础知识之防止爬虫被反的几个策略::
动态设置User-Agent(随机切换User-Agent,模拟不同用户的浏览器信息)
禁用Cookies(也就是不启用cookies middleware,不向Server发送cookies,有些网站通过cookie的使用发现爬虫行为)(可以通过COOKIES_ENABLED
控制 CookiesMiddleware 开启或关闭)
设置延迟下载(防止访问过于频繁,设置为 2秒 或更高)
Google Cache 和 Baidu Cache:如果可能的话,使用谷歌/百度等搜索引擎服务器页面缓存获取页面数据。
使用IP地址池:VPN和代理IP,现在大部分网站都是根据IP来ban的。
使用 Crawlera(专用于爬虫的代理组件),正确配置和设置下载中间件后,项目所有的request都是通过crawlera发出。
DOWNLOADER_MIDDLEWARES = { 'scrapy_crawlera.CrawleraMiddleware': 600 }
CRAWLERA_ENABLED = True
CRAWLERA_USER = '注册/购买的UserKey'
CRAWLERA_PASS = '注册/购买的Password'
设置下载中间件:下载中间件是处于引擎(crawler.engine)和下载(crawler.engine.download())之间的一层组件,可以有多个下载中间件被加载运行。
当引擎传递请求给下载器的过程中,下载中间件可以对请求进行处理 (例如增加http header信息,增加proxy信息等);
在下载器完成http请求,传递响应给引擎的过程中, 下载中间件可以对响应进行处理(例如进行gzip的解压等)
要激活下载器中间件组件,将其加入到 DOWNLOADER_MIDDLEWARES 设置中。 该设置是一个字典(dict),键为中间件类的路径,值为其中间件的顺序(order)。
settings.py
DOWNLOADER_MIDDLEWARES = {'mySpider.middlewares.MyDownloaderMiddleware': 543,
}
转载于:https://www.cnblogs.com/huwei934/p/6971404.html
scrapy基础知识之防止爬虫被反的几个策略::相关推荐
- python基础知识整理-python爬虫基础知识点整理
首先爬虫是什么? 网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动的抓取万维网信息的程序或者脚本. 根据我的经验,要学习Python爬虫 ...
- scrapy基础知识之制作 Scrapy 爬虫 一共需要4步:
1.新建项目 (scrapy startproject xxx):新建一个新的爬虫项目 2.明确目标 (编写items.py):明确你想要抓取的目标 3.制作爬虫 (spiders/xxspider. ...
- python网络爬虫基础知识_Python网络爬虫基础知识
一.网络爬虫 网络爬虫又被称为网络蜘蛛,我们可以把互联网想象成一个蜘蛛网,每一个网站都是一个节点,我们可以使用一只蜘蛛去各个网页抓取我们想要 的资源.举一个最简单的例子,你在百度和谷歌中输入'Pyth ...
- 七月算法课程《python爬虫》第三课: 爬虫基础知识与简易爬虫实现
这节课涉及到很多知识,CSS.XPath.Json.Dom和Sax.正则表达式.Selenium等.大家可以在W3School 和RUNOOB.COM 上了解下这方面的相关知识 CSS的几个网页使用示 ...
- scrapy基础知识之 parse()方法的工作机制思考:
1.因为使用的yield,而不是return.parse函数将会被当做一个生成器使用.scrapy会逐一获取parse方法中生成的结果,并判断该结果是一个什么样的类型: 2.如果是request则加入 ...
- python爬虫——基础知识
python爬虫--基础知识 一.网页基础知识 二.爬虫的思路 1.HTML文档(超文本) 三.ROBOTS协议 四.浏览器发送HTTP请求的过程 1.http请求过程 2.请求 五.SSL连接错误 ...
- Scrapy基础 第二节:Scrapy版的Hello World
第二节:Scrapy版的Hello World 前置知识: 掌握Python的基础知识 对爬虫基础有一定了解 说明: 运行环境 Win10,Python3 64位 目录: 第一节:Scrapy介绍和安 ...
- [CentOS Python系列] 三.阿里云MySQL数据库开启配置及SQL语句基础知识
从2014年开始,作者主要写了三个Python系列文章,分别是基础知识.网络爬虫和数据分析. Python基础知识系列:Pythonj基础知识学习与提升 Python网络爬虫系列:Python爬虫之S ...
- 金融量化分析基础知识
文章目录 金融量化分析 金融量化软件包 股票基础知识 金融量化分析 量化交易的核心是策略分析,通过对历史数据.实时数据分析,选择最佳的交易品种和最好的交易时间. 主流的量化交易:quantopian. ...
- Python基础知识回顾及scrapy框架爬虫基础
1.函数 函数参数:必须 默认 关键 可变 函数种类:外部 内部 匿名 lambda 装饰函数:@语法糖 函数总是要返回的 ,若没有return,None总是被返回 2.面向对象: 对象:已存在, ...
最新文章
- 数据中台应该包含什么?
- 机器人也来玩“踢瓶盖挑战”了,你动他就动,靠脑电控制,路人也能玩丨MIT出品...
- linux按时间升序排列文件,Linux展示以时间生升序显示文件
- 如何处理使用 SAP UI5 消费真实的 OData 服务时遇到的跨域问题
- [react] createElement与cloneElement两者有什么区别?
- C# MVC的博客开发(三)注册
- 国产“电动牦牛”亮相,负重 160 公斤健步如飞!
- fastjson map转json_Java对象转JSON咋这么头疼?不!那是你还没使用Fastjson
- java xss 参数_JAVA 重写HttpServletRequest的获取参数防止xss攻击
- Seek and Destroy
- [转]KSN报告:2014 - 2016年的PC勒索软件
- 路由器的原理及其配置(一)
- 读了7年通信最后还是转了码,这值得吗?
- [乱七八糟]Google搜索秘籍
- 兼容微信字体变大,页面错乱问题
- Android 10.0设置默认sim1卡使用数据流量和发送短信
- asp毕业设计——基于asp+access的会员管理系统设计与实现(毕业论文+程序源码)——会员管理系统
- IDEA包下不能建包问题
- HTML5期末考核大作业网站——卫生与健康HTML+CSS+JavaScript
- 视频图像传输与显示(4)——数字电视信号标准ITU-R BT.601和ITU-R BT.656简介