python爬虫之Scrapy 使用代理配置
2016-10-28 00:00
615 查看
在爬取网站内容的时候,最常遇到的问题是:网站对IP有限制,会有防抓取功能,最好的办法就是IP轮换抓取(加代理)
下面内容分作两部分第一部分来自网络,第二部分写的使用大蚂蚁代理的代码
###########################第一部分################################################
下面来说一下Scrapy如何配置代理,进行抓取
1.在Scrapy工程下新建“middlewares.py”
2.在项目配置文件里(./pythontab/settings.py)添加
############################第二部分#######################################
importhashlib
importtime
#Startyourmiddlewareclass
classProxyMiddleware(object):
#overwriteprocessrequest
defprocess_request(self,request,spider):
#Setthelocationoftheproxy
request.meta['proxy']="http://代理地址:端口"
appkey="yourappkey"
secret="yoursercretnumstring"
paramMap={"app_key":appkey,"timestamp":time.strftime
7fe8
("%Y-%m-%d%H:%M:%S")}
keys=paramMap.keys()
keys.sort()
codes="%s%s%s"%(secret,str().join('%s%s'%(key,paramMap[key])forkeyinkeys),secret)
sign=hashlib.md5(codes).hexdigest().upper()
paramMap["sign"]=sign
keys=paramMap.keys()
authHeader="MYH-AUTH-MD5"+str('&').join('%s=%s'%(key,paramMap[key])forkeyinkeys)
request.headers['Proxy-Authorization']=authHeader
#printauthHeader
DOWNLOADER_MIDDLEWARES={
'scrapy.contrib.downloadermiddleware.httpproxy.HttpProxyMiddleware':110,
'yourproject.middlewares.ProxyMiddleware':100,
}
下面内容分作两部分第一部分来自网络,第二部分写的使用大蚂蚁代理的代码
###########################第一部分################################################
下面来说一下Scrapy如何配置代理,进行抓取
1.在Scrapy工程下新建“middlewares.py”
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
1 2 3 4 |
importhashlib
importtime
#Startyourmiddlewareclass
classProxyMiddleware(object):
#overwriteprocessrequest
defprocess_request(self,request,spider):
#Setthelocationoftheproxy
request.meta['proxy']="http://代理地址:端口"
appkey="yourappkey"
secret="yoursercretnumstring"
paramMap={"app_key":appkey,"timestamp":time.strftime
7fe8
("%Y-%m-%d%H:%M:%S")}
keys=paramMap.keys()
keys.sort()
codes="%s%s%s"%(secret,str().join('%s%s'%(key,paramMap[key])forkeyinkeys),secret)
sign=hashlib.md5(codes).hexdigest().upper()
paramMap["sign"]=sign
keys=paramMap.keys()
authHeader="MYH-AUTH-MD5"+str('&').join('%s=%s'%(key,paramMap[key])forkeyinkeys)
request.headers['Proxy-Authorization']=authHeader
#printauthHeader
DOWNLOADER_MIDDLEWARES={
'scrapy.contrib.downloadermiddleware.httpproxy.HttpProxyMiddleware':110,
'yourproject.middlewares.ProxyMiddleware':100,
}
相关文章推荐
- python爬虫之Scrapy 使用代理配置
- python爬虫之Scrapy 使用代理配置
- python爬虫之Scrapy 使用代理配置
- 讲解Python的Scrapy爬虫框架使用代理进行采集的方法
- 讲解Python的Scrapy爬虫框架使用代理进行采集的方法
- linux下在服务器上配置scrapy框架的python爬虫,使用mysql数据库保存
- Scrapy爬虫:代理IP配置
- 第三百四十七节,Python分布式爬虫打造搜索引擎Scrapy精讲—通过downloadmiddleware中间件全局随机更换user-agent浏览器用户代理
- Python爬虫之爬取——使用代理
- 【Python3.6爬虫学习记录】(六)urllib详细使用方法(header,代理,超时,认证,异常处理)
- python爬虫scrapy框架灵巧使用
- python,scrapy爬虫sql之爬取数据存储到mysql的piplelines.py配置
- 【Python3.6爬虫学习记录】(十一)使用代理IP及用多线程测试IP可用性--刷访问量
- python使用scrapy爬表格,爬虫中级
- python scrapy爬虫爬取图片简易方法,使用Images模块
- 第三百四十八节,Python分布式爬虫打造搜索引擎Scrapy精讲—通过自定义中间件全局随机更换代理IP
- 【python爬虫02】使用Scrapy框架爬取拉勾网招聘信息
- 【python爬虫03】使用Scrapy框架模拟登录知乎
- Python3爬虫之代理的使用
- Python开发中爬虫使用代理proxy抓取网页的方法示例