爬蟲設置代理


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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM