scrapy 避免被ban
1、settings.py COOKIES_ENABLED = False
DOWNLOAD_DELAY = 3
ROBOTSTXT_OBEY = False ip代理池设置
IPPOOL = [{'ipadder':'1.1.1.1'},
{'ipadder':'2.1.1.1'},
{'ipadder': '1.3.1.1'},
{'ipadder': '1.1.1.4'},
]
DOWNLOADER_MIDDLEWARES = {
#'Autopjt.middlewares.MyCustomDownloaderMiddleware': 543,
'scrapy.contrib.downloadermiddleware.httpproxy.HttpProxyMiddleware':123,
'Autopjt.middlewares.IPPOOLS':125,
}
2、middlewares.py
import random
from Autopjt.settings import IPPOOL
from scrapy.contrib.downloadermiddleware.httpproxy import HttpProxyMiddleware class IPPOOLS(HttpProxyMiddleware):
def __init__(self,ip=''):
self.ip = ip
def process_request(self, request, spider):
thisip = random.choice(IPPOOL)
# 将对应的IP实际添加为具体代理,用该ip进行爬取
request.meta['proxy']='http://' + thisip['ipaddr']
UA池
UAPOOL = ['Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.102 Safari/537.36',
'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.103 Safari/537.36',
'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.104 Safari/537.36',]
DOWNLOADER_MIDDLEWARES = {
#'Autopjt.middlewares.MyCustomDownloaderMiddleware': 543,
#'scrapy.contrib.downloadermiddleware.httpproxy.HttpProxyMiddleware':123,
#'Autopjt.middlewares.IPPOOLS':125,
'scrapy.contrib.downloadermiddleware.useragent.UserAgentMiddleware':2,
'Autopjt.middlewares.Uamid':1
}
middlewares.py
import random
from Autopjt.settings import UAPOOL
from scrapy.contrib.downloadermiddleware.useragent import UserAgentMiddleware class Uamid(UserAgentMiddleware):
def __init__(self,ua=''):
self.ua = ua
def process_request(self, request, spider):
thisua = random.choice(UAPOOL)
request.headers.setdefault('User-Agent',thisua)
scrapy 避免被ban的更多相关文章
- 如何让你的scrapy爬虫不再被ban
前面用scrapy编写爬虫抓取了自己博客的内容并保存成json格式的数据(scrapy爬虫成长日记之创建工程-抽取数据-保存为json格式的数据)和写入数据库(scrapy爬虫成长日记之将抓取内容写入 ...
- 豆瓣网post 爬取带验证码
# -*- coding: utf- -*- import scrapy import requests from ..bao.jiema import get_number fromdata = { ...
- 如何让你的scrapy爬虫不再被ban之二(利用第三方平台crawlera做scrapy爬虫防屏蔽)
我们在做scrapy爬虫的时候,爬虫经常被ban是常态.然而前面的文章如何让你的scrapy爬虫不再被ban,介绍了scrapy爬虫防屏蔽的各种策略组合.前面采用的是禁用cookies.动态设置use ...
- Scrapy研究和探索(七)——如何防止被ban大集合策略
说来设置的尝试download_delay少于1,不管对方是什么,以防止ban策略后.我终于成功ban该. 大约scrapy利用能看到以前的文章: http://blog.csdn.net/u0121 ...
- Scrapy 爬虫 使用指南 完全教程
scrapy note command 全局命令: startproject :在 project_name 文件夹下创建一个名为 project_name 的Scrapy项目. scrapy sta ...
- Python爬虫Scrapy框架入门(2)
本文是跟着大神博客,尝试从网站上爬一堆东西,一堆你懂得的东西 附上原创链接: http://www.cnblogs.com/qiyeboy/p/5428240.html 基本思路是,查看网页元素,填写 ...
- Python之Scrapy爬虫框架安装及简单使用
题记:早已听闻python爬虫框架的大名.近些天学习了下其中的Scrapy爬虫框架,将自己理解的跟大家分享.有表述不当之处,望大神们斧正. 一.初窥Scrapy Scrapy是一个为了爬取网站数据,提 ...
- Scrapy 爬虫
Scrapy 爬虫 使用指南 完全教程 scrapy note command 全局命令: startproject :在 project_name 文件夹下创建一个名为 project_name ...
- 同时运行多个scrapy爬虫的几种方法(自定义scrapy项目命令)
试想一下,前面做的实验和例子都只有一个spider.然而,现实的开发的爬虫肯定不止一个.既然这样,那么就会有如下几个问题:1.在同一个项目中怎么创建多个爬虫的呢?2.多个爬虫的时候是怎么将他们运行起来 ...
随机推荐
- 【BZOJ1009】GT考试(KMP算法,矩阵快速幂,动态规划)
[BZOJ1009]GT考试(KMP算法,矩阵快速幂,动态规划) 题面 BZOJ 题解 看到这个题目 化简一下题意 长度为\(n\)的,由\(0-9\)组成的字符串中 不含串\(s\)的串的数量有几个 ...
- [cogs2701]动态树
题面戳我 sol 比较裸啊. 注意操作顺序就行了. code #include<cstdio> #include<algorithm> using namespace std; ...
- Mysql遇到 is marked as crashed and should be repaired 问题解决方法
遇到 找到mysql的安装目录的bin/myisamchk工具,在命令行中输入: myisamchk -c -r /var/lib/mysql/ambari/alert_current.MYI 问题解 ...
- 19.JavaScript
简介 JavaScript一种直译式脚本语言,是一种动态类型.弱类型.基于原型的语言,内置支持类型 1.注释 单行 // 多行 /* */ 2.引用方式 <head> <meta c ...
- FJUT16级第一周寒假作业题解D题
题目链接:http://210.34.193.66:8080/vj/Contest.jsp?cid=160#P3 第八集,体能训练 TimeLimit:1000MS MemoryLimit:128M ...
- PAT乙级-1043. 输出PATest(20)
给定一个长度不超过10000的.仅由英文字母构成的字符串.请将字符重新调整顺序,按"PATestPATest...."这样的顺序输出,并忽略其它字符.当然,六种字符的个数不一定是一 ...
- 将["a"=1,"b"=2] 转为对象
var obj = {}; var arr = ["a=1","b=2","c=3"]; for (var x in arr){ var s ...
- Git 初体验
第一次接触git的时候,一直在纳闷git和github的区别,解释下,git是版本管理工具,github是开源共享平台,个人这么理解,理解这么多就行了 先说git吧,下载git客户端,地址:http: ...
- python web开发-flask读取txt文件内容
某些情况下,需要读取flask网站要目录下的txt文件.但是直接在flask网站的目录下创建一个文件是无法访问的.从网站找了一些资料,最终发现通过写一个方法返回txt内容比较简单方便,不过此方法适用于 ...
- cmd 命令大全
1.windows 系统定时关机 定时关机:shutdown -s -t 300 at 18:30 shutdown -s 取消定时:shutdown -a 注意:300为秒数,在windows co ...