Python使用代理的方法


我們在做爬蟲的過程中經常會遇到這樣的情況:最初爬蟲正常運行,正常抓取數據,一切看起來都是那么的美好,然而一杯茶的功夫可能就會出現錯誤,比如403 Forbidden;出現這樣的原因往往是網站采取了一些反爬蟲的措施,比如,服務器會檢測某個IP在單位時間內的請求次數,如果超過了某個閾值,那么服務器會直接拒絕服務,返回一些錯誤信息。這時候,代理就派上用場了。

國內的免費代理網站:

西刺代理

快代理免費代理

全網代理ip

接下來看如何設置代理:

urllib代理設置:

from urllib.error import URLError
from urllib.request import ProxyHandler,build_opener

proxy='123.58.10.36:8080'  #使用本地代理
#proxy='username:password@123.58.10.36:8080'  #購買代理
proxy_handler=ProxyHandler({
    'http':'http://'+proxy,
    'https':'https://'+proxy
})
opener=build_opener(proxy_handler)
try:
    response=opener.open('http://httpbin.org/get') #測試ip的網址
    print(response.read().decode('utf-8'))
except URLError as e:
    print(e.reason)

運行結果如下:

 

requests代理設置:

import requests

proxy='123.58.10.36:8080'  #本地代理
#proxy='username:password@123.58.10.36:8080'
proxies={
    'http':'http://'+proxy,
    'https':'https://'+proxy
}
try:
    response=requests.get('http://httpbin.org/get',proxies=proxies)
    print(response.text)
except requests.exceptions.ConnectionError as e:
    print('錯誤:',e.args)

運行結果如下:

 

Selenium代理設置:

from selenium import webdriver


proxy='123.58.10.36:8080'
chrome_options=webdriver.ChromeOptions()
chrome_options.add_argument('--proxy-server=http://'+proxy)
browser=webdriver.Chrome(chrome_options=chrome_options)
browser.get('http://httpbin.org/get')

運行結果:

以上就是代理的一些簡單設置、、、

 


免責聲明!

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



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