Scrapy 使用代理

一、使用开放代理(没有用户名和密码)

 # 开放代理
 class IPProxyDownloadMiddleware():
     PROXIES = ['175.42.68.217:9999',
            '223.242.247.177:9999',
            ]

     def process_request(self, request, spider):
         proxy = random.choice(self.PROXIES)
         request.meta['proxy'] = proxy

二、使用独享代理(有用户名和密码)

# 独享代理,需要用户名和密码
class IPProxyDownloadMiddleware(object):
    def process_request(self, request, spider):
        # 需要访问的网站是http就写http 如果是https就写https,前提是代理本身具有相匹配的协议
        proxy  = 'http://112.74.198.237:16816' 
        user_password = "用户名:密码"
        request.meta['proxy'] = proxy
        # 转成bytes
        b64_user_password = base64.b64encode(user_password.encode('utf-8'))
        # Basic后面要有空格
        request.headers['Proxy-Authorization'] = 'Basic ' + b64_user_password.decode('utf-8')

三、setting设置

开启下载中间件

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 前言 在我们平时使用爬虫程序采集数据时,往往会遇到,因采集速度过快导致的自己网络ip被目标网站封禁,这种封禁有时候...
    kakarotto阅读 8,846评论 4 2
  • 最近一直访问网站访问不了,以为是网站在维护一直没有管它,直到客户截图发过来,我才发现自己手机也是可以访问的,就是使...
    风一样的存在阅读 2,301评论 0 1
  • Getting Started Burp Suite 是用于攻击web 应用程序的集成平台。它包含了许多工具,并为...
    Eva_chenx阅读 28,941评论 0 14
  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 11,167评论 1 32
  • 为期四天的幸福家师资三阶段课程《授课技能提升》圆满结束,收获很多。 我用徐珂老师讲的三三法来进行总结,一答疑环节,...
    新起点2018阅读 383评论 0 0