python爬蟲代理的不同設置

以下內容分爲1、urllib庫代理的設置

                      2、requests庫代理的設置

                      3、selenium+chrome代理的設置

1、urllib庫的代理的設置 

#對於urllib設置代理
from urllib.error import URLError
from urllib.request import ProxyHandler, build_opener

proxy = '127.0.0.1:1080'
#藉助ProxyHandler設置代理,參數是字典類型,鍵名爲協議類型,鍵值是代理
proxy_handler = ProxyHandler({
    'http': 'http://' + proxy,
    'https': 'https://' + proxy
})

#創建完ProxyHandler對象之後,利用build_opener()方法傳入該對象來創建一個Opener
#這樣相當於此Opener已經設置好代理了
opener = build_opener(proxy_handler)
try:
    #直接調用Opener對象的open()方法,即可訪問我們所想要的鏈接
    response = opener.open('http://httpbin.org/get')
    print(response.read().decode('utf-8'))
except URLError as e:
    print(e.reason)

2、requests庫代理的設置 ,requests庫代理設置比urllib庫代理設置簡單一點

#requests的代理設置比urllib簡單很多
import requests

proxy = '127.0.0.1:1080'
#構造代理字典參數即可
proxies = {
    'http': 'http://' + proxy,
    'https': 'https://' + proxy,
}
try:
    #傳入proxies參數即可
    response = requests.get('http://httpbin.org/get', proxies=proxies)
    print(response.text)
except requests.exceptions.ConnectionError as e:
    print('Error', e.args)

可以看到請求的URL的ip地址與代理後的ip地址不一樣 ,說明代理成功

3、selenium+chrome設置代理

#對於Chrome瀏覽器
from selenium import webdriver

proxy = '127.0.0.1:1080'
#selenium啓動配置參數接收是ChromeOptions類
chrome_options = webdriver.ChromeOptions()
#創建類之後,就是添加參數
chrome_options.add_argument('--proxy-server=http://' + proxy)
#在創建Chrome對象的時候用chrome_options參數傳遞即可
browser = webdriver.Chrome(chrome_options=chrome_options)
browser.get('http://httpbin.org/get')

可以看到彈出的瀏覽器ip地址是你代理的ip地址,說明代理成功 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章