原文:http://www.cnblogs.com/kylinlin/p/5242266.html
在使用Scrapy的时候,一旦进行高频率的爬取就容易被封IP,此时可以通过使用TOR来进行匿名爬取,同时要安装Polipo代理服务器。
注意:要进行下面的操作的前提是,你能FQ
安装TOR
下载地址:
下载Expert Bundle并解压到一个目录下,例如:D:Tor,这个版本并没有一个图形化的操作界面,要修改配置十分麻烦,可以通过下载Vidalia来使用TOR,Vidalia的下载地址: ,下载该页面的最下面那个即可:vidalia-standalone-0.2.21-win32-1_zh-CN.exe,安装完成之后,以管理员权限运行Start Vidalia.exe,进行下面的设定
点击启动Tor
过一阵子后显示连接成功
下载安装Polipo
下载地址:
选择polipo-1.1.0-win32.zip,下载并解压,然后编辑解压后的文件config.sample,在文件的开头加上以下配置
socksParentProxy = "localhost:9050"
socksProxyType = socks5
diskCacheRoot = ""
使用cmd命令运行该目录下的程序:polipo.exe -c config.sample
打开edge浏览器,设置代理
然后在浏览器中访问:
看到以下的界面意味着配置成功
配置Scrapy
在settings.py文件中加入下面的内容
#More comprehensive list can be found at
#http://techpatterns.com/forums/about304.html
USER_AGENT_LIST = [
'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.7 (KHTML, like Gecko) Chrome/16.0.912.36 Safari/535.7',
'Mozilla/5.0 (Windows NT 6.2; Win64; x64; rv:16.0) Gecko/16.0 Firefox/16.0',
'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_3) AppleWebKit/534.55.3 (KHTML, like Gecko) Version/5.1.3 Safari/534.53.10',
]
HTTP_PROXY = 'http://127.0.0.1:8123'
DOWNLOADER_MIDDLEWARES = {
'myspider.middlewares.RandomUserAgentMiddleware': 400, # 修改这里的myspider为项目名称
'myspider.middlewares.ProxyMiddleware': 410, # 同上
'scrapy.contrib.downloadermiddleware.useragent.UserAgentMiddleware': None,
}
在scrapy项目的根目录新建一个middlewares.py文件,并输入以下内容
import random