【程式碼】第9章 代理的使用
阿新 • • 發佈:2018-11-24
9.1 代理的設定
# urllib設定 HTTP 代理 """ from urllib.error import URLError from urllib.request import ProxyHandler, build_opener # IP/PORT: http://www.xicidaili.com/ proxy = '116.30.221.18:53471' proxy_handler = ProxyHandler({ 'http': 'http://' + proxy, 'https': 'https://' + proxy }) # 設定代理 opener = build_opener(proxy_handler) try: resp = opener.open('http://httpbin.org/get') print(resp.read().decode('utf-8')) except URLError as e: print(e.reason)
# requests設定SOCKS5 全域性代理 import socket import socks import requests from requests.exceptions import ConnectionError # IP/PORT: http://31f.cn/socks5-proxy/ socks.set_default_proxy(socks.SOCKS5, '36.7.172.12', 1080) socket.socket = socks.socksocket try: resp = requests.get('http://httpbin.org/get') print(resp.text) except ConnectionError as e: print('error: ', e.args)
# Chrome 用selenium設定 HTTP 代理
from selenium import webdriver
proxy = '116.30.221.18:53471'
chrome_opts = webdriver.ChromeOptions()
chrome_opts.add_argument('--proxy-server=http://' + proxy)
browser = webdriver.Chrome(chrome_options=chrome_opts)
browser.get('http://httpbin.org/get')