咱們在作爬蟲的過程當中常常會遇到這樣的狀況:最初爬蟲正常運行,正常抓取數據,一切看起來都是那麼的美好,然而一杯茶的功夫可能就會出現錯誤,好比403 Forbidden;出現這樣的緣由每每是網站採起了一些反爬蟲的措施,好比,服務器會檢測某個IP在單位時間內的請求次數,若是超過了某個閾值,那麼服務器會直接拒絕服務,返回一些錯誤信息。這時候,代理就派上用場了。web
國內的免費代理網站:chrome
西刺代理服務器
快代理免費代理測試
全網代理ip網站
接下來看如何設置代理:ui
urllib代理設置:url
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)
運行結果以下:spa
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)
運行結果以下:code
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')
運行結果:
以上就是代理的一些簡單設置、、、