您的位置:首页 > 新闻资讯 >文章内容
中间件设置代理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非常具有性价比,值得选购。


相关文章内容简介
推荐阅读
  • 26 2019-02
    爬虫效率太慢,使用多进程效果怎么样?

    当我们想要提高爬虫的爬取效率时,可以使用多进程,多线程,协程等,那么使用哪种方法比较好呢?今天先跟小编来了解下关于多进程,进程创建方法,以及多进程的优缺点。

  • 12 2019-09
    用代理IP爬虫前 你必须懂的33个知识点(二)

    无论是开展什么工作,基本的理论知识都不必不可少的,只有掌握了,我们才能够去好好利用它。如果你想要了解爬虫以及大数据的相关知识,那么机灵代理搜集的这33个知识点就非常适合了。

  • 06 2020-05
    动态ip与静态ip代理的区别

    现在的代理ip资源很多,无论是哪一种代理ip资源,都会有人使用,但是为了广大用户的使用安全以及使用效率,付费代理还是具有很大的优势。

  • 15 2019-10
    选用代理IP的好处以及注意事项

    互联网的技术不断在革新,技术与人们生活进行融合,带来了便利,其中代理IP也在人们的工作以及生活中派上用场。

  • 06 2020-01
    免费代理ip​的风险!

    免费代理ip​的风险!不管什么东西,可能都是存在风险的,因此我们在使用之前是有必要去了解下其风险性程度的,倘若风险性过大,与收益差之深远,这就没有必要了,是吧。今天我们来讲下

  • 10 2020-11
    网络游戏怎么切换IP

    玩游戏时IP被封是一件非常苦恼的事情,为了避免玩游戏时IP被封,就得遵守游戏规则,但想要多开账号玩,就会被限制,想要不被封IP,就会只能更换地址,不懂的账号使用不同的IP,就能避免

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

大客户经理微信

微信公众号

微信公众号

回到顶部