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地址,说明代理成功 

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