动态设置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基础知识之防止爬虫被反的几个策略::相关推荐

  1. python基础知识整理-python爬虫基础知识点整理

    首先爬虫是什么? 网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动的抓取万维网信息的程序或者脚本. 根据我的经验,要学习Python爬虫 ...

  2. scrapy基础知识之制作 Scrapy 爬虫 一共需要4步:

    1.新建项目 (scrapy startproject xxx):新建一个新的爬虫项目 2.明确目标 (编写items.py):明确你想要抓取的目标 3.制作爬虫 (spiders/xxspider. ...

  3. python网络爬虫基础知识_Python网络爬虫基础知识

    一.网络爬虫 网络爬虫又被称为网络蜘蛛,我们可以把互联网想象成一个蜘蛛网,每一个网站都是一个节点,我们可以使用一只蜘蛛去各个网页抓取我们想要 的资源.举一个最简单的例子,你在百度和谷歌中输入'Pyth ...

  4. 七月算法课程《python爬虫》第三课: 爬虫基础知识与简易爬虫实现

    这节课涉及到很多知识,CSS.XPath.Json.Dom和Sax.正则表达式.Selenium等.大家可以在W3School 和RUNOOB.COM 上了解下这方面的相关知识 CSS的几个网页使用示 ...

  5. scrapy基础知识之 parse()方法的工作机制思考:

    1.因为使用的yield,而不是return.parse函数将会被当做一个生成器使用.scrapy会逐一获取parse方法中生成的结果,并判断该结果是一个什么样的类型: 2.如果是request则加入 ...

  6. python爬虫——基础知识

    python爬虫--基础知识 一.网页基础知识 二.爬虫的思路 1.HTML文档(超文本) 三.ROBOTS协议 四.浏览器发送HTTP请求的过程 1.http请求过程 2.请求 五.SSL连接错误 ...

  7. Scrapy基础 第二节:Scrapy版的Hello World

    第二节:Scrapy版的Hello World 前置知识: 掌握Python的基础知识 对爬虫基础有一定了解 说明: 运行环境 Win10,Python3 64位 目录: 第一节:Scrapy介绍和安 ...

  8. [CentOS Python系列] 三.阿里云MySQL数据库开启配置及SQL语句基础知识

    从2014年开始,作者主要写了三个Python系列文章,分别是基础知识.网络爬虫和数据分析. Python基础知识系列:Pythonj基础知识学习与提升 Python网络爬虫系列:Python爬虫之S ...

  9. 金融量化分析基础知识

    文章目录 金融量化分析 金融量化软件包 股票基础知识 金融量化分析 量化交易的核心是策略分析,通过对历史数据.实时数据分析,选择最佳的交易品种和最好的交易时间. 主流的量化交易:quantopian. ...

  10. Python基础知识回顾及scrapy框架爬虫基础

    1.函数 函数参数:必须 默认 关键 可变 函数种类:外部 内部 匿名 lambda 装饰函数:@语法糖 函数总是要返回的 ,若没有return,None总是被返回   2.面向对象: 对象:已存在, ...

最新文章

  1. 数据中台应该包含什么?
  2. 机器人也来玩“踢瓶盖挑战”了,你动他就动,靠脑电控制,路人也能玩丨MIT出品...
  3. linux按时间升序排列文件,Linux展示以时间生升序显示文件
  4. 如何处理使用 SAP UI5 消费真实的 OData 服务时遇到的跨域问题
  5. [react] createElement与cloneElement两者有什么区别?
  6. C# MVC的博客开发(三)注册
  7. 国产“电动牦牛”亮相,负重 160 公斤健步如飞!
  8. fastjson map转json_Java对象转JSON咋这么头疼?不!那是你还没使用Fastjson
  9. java xss 参数_JAVA 重写HttpServletRequest的获取参数防止xss攻击
  10. Seek and Destroy
  11. [转]KSN报告:2014 - 2016年的PC勒索软件
  12. 路由器的原理及其配置(一)
  13. 读了7年通信最后还是转了码,这值得吗?
  14. [乱七八糟]Google搜索秘籍
  15. 兼容微信字体变大,页面错乱问题
  16. Android 10.0设置默认sim1卡使用数据流量和发送短信
  17. asp毕业设计——基于asp+access的会员管理系统设计与实现(毕业论文+程序源码)——会员管理系统
  18. IDEA包下不能建包问题
  19. HTML5期末考核大作业网站——卫生与健康HTML+CSS+JavaScript
  20. 视频图像传输与显示(4)——数字电视信号标准ITU-R BT.601和ITU-R BT.656简介

热门文章

  1. NeurIPS 2021揭榜,接收率创九年新高,论文列表已公布,你的文章中了吗?
  2. 【ACL2021】话题感知的语义建模
  3. 【一周学术热点】预训练模型,文本生成,模型蒸馏
  4. 【pytorch】常见的坑汇总
  5. Python_Tika
  6. 腾讯校招开奖,总包拿了 68w!
  7. 来字节一月了,四个字:翻天覆地
  8. 深度学习9-tensorboard
  9. 游戏情境设计案例精选
  10. 除了被动阅读,用户想要的更多