码迷,mamicode.com
首页 > 其他好文 > 详细

爬虫设置代理

时间:2018-09-07 13:57:29      阅读:166      评论:0      收藏:0      [点我收藏+]

标签:设置代理   端口号   self   方法   handle   urllib   nbsp   nec   set   

以下是自己总结的设置 IP 代理的几种方法,仅供参考

 

方法一:

  requests发送请求添加代理

  proxies = {‘http‘:‘代理 IP:端口号‘}

实例:

1 import requests
2 
3 url = www.baidu.com
4 
5 response = request.get(url=url, proxies={http:ip:port})

 

方法二:

  调用 ProxyHandler 添加 代理

实例: 

 1 from urllib import request
 2 
 3 url = www.baidu.com
 4 
 5 # 设置代理
 6 handler = request.ProxyHandler({http:ip:port})
 7 opener = request.bulid_opener(handler)
 8 
 9 # 发送请求
10 req = request.Request(url=url)
11 response = opener.open(req)

 

方法三:

  使用 client 建立连接,添加代理 IP,port

实例:

1 from http import client
2 
3 url = www.baidu.com
4 
5 conn = client.HTTPConnection(ip, port, timeout=5)
6 response = conn.request(GET,url=url)

方法四

  在 scrapy下载中间件添加代理

  •   middlewares.py 自定义一个代理类,重写 process_request 方法
1 class MyDaiLi(object):
2     """docstring for MyDaiLi"""
3     # 重写这个方法
4     def process_request(self, request, spider):
5         request.meta[proxy] = http://ip:port
  •   settings.py (第55行)打开下载中间件,并将自定义的 MyDaiLi添加进去
1 DOWNLOADER_MIDDLEWARES = {
2    daili_loginproject.middlewares.MyDaiLi: 543,
3 }

 

爬虫设置代理

标签:设置代理   端口号   self   方法   handle   urllib   nbsp   nec   set   

原文地址:https://www.cnblogs.com/sharepy/p/9603783.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!