python scrapy 网络采集使用代理的方法

python scrapy 网络采集使用代理的方法,第1张

概述python scrapy 网络采集使用代理方法

下面是内存溢出 jb51.cc 通过网络收集整理的代码片段。

内存溢出小编现在分享给大家,也给大家做个参考。

1.在Scrapy工程下新建“mIDdlewares.py”
# importing base64 library because we'll need it ONLY in case if the proxy we are going to use requires authenticationimport base64 # Start your mIDdleware classclass ProxyMIDdleware(object):    # overwrite process request    def process_request(self,request,spIDer):        # Set the location of the proxy        request.Meta['proxy'] = "http://YOUR_PROXY_IP:PORT"         # Use the following lines if your proxy requires authentication        proxy_user_pass = "USERname:PASSWORD"        # setup basic authentication for the proxy        encoded_user_pass = base64.encodestring(proxy_user_pass)        request.headers['Proxy-Authorization'] = 'Basic ' + encoded_user_pass#该代码片段来自于: http://www.shareJs.com/codes/python/8309
2.在项目配置文件里(./project_name/settings.py)添加
DOWNLOADER_MIDDLEWARES = {    'scrapy.contrib.downloadermIDdleware.httpproxy.httpProxyMIDdleware': 110,'project_name.mIDdlewares.ProxyMIDdleware': 100,}
只要两步,现在请求就是通过代理的了。测试一下^_^
from scrapy.spIDer import BaseSpIDerfrom scrapy.contrib.spIDers import CrawlSpIDer,Rulefrom scrapy.http import Request class TestSpIDer(CrawlSpIDer):    name = "test"    domain_name = "whatismyip.com"    # The following url is subject to change,you can get the last updated one from here :    # http://www.whatismyip.com/faq/automation.asp    start_urls = ["http://xujian.info"]     def parse(self,response):        open('test.HTML','wb').write(response.body) 

以上是内存溢出(jb51.cc)为你收集整理的全部代码内容,希望文章能够帮你解决所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

总结

以上是内存溢出为你收集整理的python scrapy 网络采集使用代理的方法全部内容,希望文章能够帮你解决python scrapy 网络采集使用代理的方法所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1198594.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-03
下一篇 2022-06-03

发表评论

登录后才能评论

评论列表(0条)

保存