1. 程式人生 > >爬蟲設置代理

爬蟲設置代理

http www. log response 端口號 request 自定義 url 添加

以下是自己總結的設置 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 }

爬蟲設置代理