您的位置:首页 > 新闻资讯 >文章内容
中间件设置代理IP介绍
来源:互联网 作者:admin 时间:2019-11-29 10:51:13

  网络时代,互联网方面的工作种类跟工作范围都在增加扩大。代理IP在软件中的使用问题,下面我们来关注一下,中间件要怎么设置代理IP使用?

中间件设置代理IP介绍

  1、在settings.py中设置开启代理功能


  # 设置下载中间件


  DOWNLOADER_MIDDLEWARES = {


  # 随机的 User-Agent


  'douban.middlewares.DoubanUserAgent': 100,


  # 随机的 Proxy


  'douban.middlewares.DoubanProxy': 200,


  }


  # 代理列表值


  # User_Agent 列表


  User_Agent_lists = [


  'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.87 Safari/537.36 OPR/37.0.2178.32',


  'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:46.0) Gecko/20100101 Firefox/46.0',


  'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/534.57.2 (KHTML, like Gecko) Version/5.1.7 Safari/534.57.2',


  'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',


  'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2486.0 Safari/537.36 Edge/13.10586',


  'Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; rv:11.0) like Gecko',


  'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.106 BIDUBrowser/8.3 Safari/537.36',


  'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.80 Safari/537.36 Core/1.47.277.400 QQBrowser/9.4.7658.400',


  'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.116 UBrowser/5.6.12150.8 Safari/537.36',


  'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.122 Safari/537.36 SE 2.X MetaSr 1.0',


  'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.154 Safari/537.36 LBBROWSER',


  'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.116 Safari/537.36 TheWorld 7',


  'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.146 Safari/537.36',


  ]


  # 代理列表


  PROXIES = [


  {"ip_port": "210.16.189.75:888", "user_passwd": "fa319:fa319"},


  # ... ...


  # {"ip_prot": "ip:端口", "user_passwd": ""}, # 没有用户名密码的,直接将用户密码留空即可


  ]


  # 注释之前设置的 User-Agent


  # DEFAULT_REQUEST_HEADERS = {


  # 'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',


  # # 'Accept-Language': 'en',


  # 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.146 Safari/537.36',


  # }


  2、编辑middlewares.py 中间件文件


  import random


  import base64


  from scrapy import signals


  from .settings import User_Agent_lists


  from .settings import PROXIES


  class DoubanUserAgent(object):


  # process_request必要方法


  def process_request(self, request, spider):


  # 从列表中随机拿取一个 User_Agent 设置为头


  useragent = random.choice(User_Agent_lists)


  # 将随机 User_Agent 放入请求中


  request.headers.setdefault("User-Agent", useragent)


  class DoubanProxy(object):


  # process_request必要方法


  def process_request(self, request, spider):


  proxy = random.choice(PROXIES)


  if proxy['user_passwd'] is None:


  # 代理需要写在 request 的 meta 信息中


  request.meta["proxy"] = "http://" + proxy['ip_port']


  else:


  # 对账户进行 base64 的编码转换


  base64_userpasswd = base64.b64encode(proxy["user_passwd"].encode("utf-8")).decode()


  # 代理的 IP 地址


  request.meta["proxy"] = "http://" + proxy['ip_port']


  # 代理的 用户名密码


  request.headers["Proxy-Authorization"] = 'Basic ' + base64_userpasswd


  代理IP的使用,很多用户反馈能够帮助他们更好更快的完成工作任务了,而且机灵代理的IP非常具有性价比,值得选购。


相关文章内容简介
推荐阅读
  • 23 2019-04
    机灵代理动态转发秒换IP,远离低效工作

    举个手数数,到现在谁还在手动换IP的,重启路由,或者是重新拨号换IP的。还是用机灵代理动态转发秒换IP,远离低效工作,效率杠杠的!

  • 25 2019-04
    高质量HTTP代理供应商有哪些?

    高质量HTTP代理供应商有哪些?既然要使用到HTTP代理,也想找个质量好的,不然使用起来的效果也不行。就国内而言,哪家HTTP代理供应商的质量最好呢?哪家的HTTP代理最新?

  • 29 2019-04
    网页IP被封找代理IP能行吗?

    网页IP被封找代理IP能行吗?遇到被封,大家第一时间是怎么想的?如何解决呢?现在很多站长都会有抓取数据的需求,因此网络爬虫在一定程度上越来越火爆,其实爬虫的基本功能很简单,就

  • 05 2020-06
    付费代理ip应用范围更广

    付费代理在网络上的应用要比大家想象中要多,虽然国内普遍好用的代理ip都是要付费的,但是这也完全没有阻挡到代理ip的发展。

  • 09 2019-07
    爬虫需要多少代理ip?

    爬虫需要多少代理ip?由于进行数据采集时,爬虫来被IP限制,这可以使用代理ip来解决的,那么爬虫需要多少代理ip才能解决问题呢?

  • 10 2019-07
    http代理能有效切换IP

    http代理能有效切换IP,如果需要切换ip,可以考虑使用http代理的,http代理的使用场景有:

在线咨询
大客户经理
大客户经理
1829380381
13316264505

大客户经理微信

微信公众号

微信公众号

回到顶部