一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

Python爬蟲系列,Python爬蟲代理設置方法

 豫龍晏子ylyz 2019-02-09

HTTP代理

獲取代理IP

首先需要獲取一個可用代理IP和端口,可以從以下網站獲取IP:

Python爬蟲系列,Python爬蟲代理設置方法

西刺:https://www.快代理:https://www./free站大爺:http://ip./dayProxy.html

當然,你也可以從其他網站購買更穩(wěn)定的代理IP。

  • Urllib

從上述網站獲取代理IP, 這里我獲取到IP:116.209.59.41,端口:9999

我們從基礎的 Urllib 開始學習,來看一下代理的設置方法:

from urllib.error import URLError

from urllib.request import ProxyHandler, build_opener

def http_proxy(ip, port):

proxy = ip + ':' + port

proxy_handler = ProxyHandler({

'http': 'https://' + proxy,

'https': 'https://' + proxy

})

opener = build_opener(proxy_handler)

return opener

if __name__ == '__main__':

opener = http_proxy('116.209.59.41', '9999')

try:

response = opener.open('https:///get')

print(response.read().decode('utf-8'))

except URLError as e:

print(e.reason)

運行結果如下:

{

'args': {},

'headers': {

'Accept-Encoding': 'identity',

'Connection': 'close',

'Host': '',

'User-Agent': 'Python-urllib/3.6'

},

'origin': '116.209.59.41',

'url': 'https:///get'

}

返回結果是 Json,字段 origin標明了你現在的 IP。正好為代理 IP,不是真實的 IP,這樣我們就成功設置好代理,可以使用opener打開任意網址。

  • Requests

Requests 代理設置代碼如下:

import requests

if __name__ == '__main__':

ip = '116.209.59.41'

port = '9999'

proxy = ip + ':' + port

proxies = {

'http': 'https://' + proxy,

'https': 'https://' + proxy,

}

try:

response = requests.get('https:///get', proxies=proxies)

print(response.text)

except requests.exceptions.ConnectionError as e:

print('Error', e.args)

運行結果:

{

'args': {},

'headers': {

'Accept': '*/*',

'Accept-Encoding': 'gzip, deflate',

'Connection': 'close',

'Host': '',

'User-Agent': 'python-requests/2.18.1'

},

'origin': '106.185.45.153',

'url': 'https:///get'

}

  • Selenium

Selenium 同樣可以設置代理。

elenium 設置代理的代碼如下:

from selenium import webdriver

def get_driver_with_proxy(ip, port):

proxy = ip + ':' + port

chrome_options = webdriver.ChromeOptions()

chrome_options.add_argument('--proxy-server=https://' + proxy)

browser = webdriver.Chrome(chrome_options=chrome_options)\

return browser

if __name__ == '__main__':

browser = get_driver_with_proxy('106.185.45.153', '9999')

browser.get('https:///get')

這樣我們只需要調用browser就可以使用代理IP訪問任意網站了。

{

'args': {},

'headers': {

'Accept': '*/*',

'Accept-Encoding': 'gzip, deflate',

'Connection': 'close',

'Host': '',

'User-Agent': 'python-requests/2.18.1'

},

'origin': '106.185.45.153',

'url': 'https:///get'

}

可以看到代理設置成功。

  • PhantomJS

對于 PhantomJS代理設置代碼如下:

from selenium import webdriver

def get_PhantomJS_driver(ip, port):

proxy = ip + ':' + port

args = [

f'--proxy={proxy}',

'--proxy-type=http'

]

browser = webdriver.PhantomJS(service_args=args)

return browser

if __name__ == '__main__':

browser = get_PhantomJS_driver('106.185.45.153', '9999')

browser.get('https:///get')

print(browser.page_source)

通過使用 args 參數進行代理IP設置。

運行結果:

{

'args': {},

'headers': {

'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',

'Accept-Encoding': 'gzip, deflate',

'Accept-Language': 'zh-CN,en,*',

'Connection': 'close',

'Host': '',

'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X) AppleWebKit/538.1 (KHTML, like Gecko) PhantomJS/2.1.0 Safari/538.1'

},

'origin': '106.185.45.153',

'url': 'https:///get'

}

運行結果的 origin 同樣為代理的 IP,設置代理成功。

以上就是簡單的一個Pytho的IP代理設置方法。我們只需要結合爬蟲,爬取免費代理IP網站上面的IP構建自己的IP池,便可以輕松切換IP進行各種爬蟲。

    本站是提供個人知識管理的網絡存儲空間,所有內容均由用戶發(fā)布,不代表本站觀點。請注意甄別內容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現有害或侵權內容,請點擊一鍵舉報。
    轉藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多

    婷婷激情四射在线观看视频| 色无极东京热男人的天堂| 欧美韩国日本精品在线| 成人三级视频在线观看不卡| 黄色污污在线免费观看| 欧美一区二区口爆吞精| 日韩一区二区三区有码| 91亚洲人人在字幕国产| 日韩精品视频香蕉视频| 激情三级在线观看视频| 色小姐干香蕉在线综合网| 国产午夜精品美女露脸视频| 免费啪视频免费欧美亚洲| 永久福利盒子日韩日韩| 国产毛片不卡视频在线| 午夜日韩在线观看视频| 亚洲欧美视频欧美视频| 日系韩系还是欧美久久| 成人精品视频在线观看不卡| 日本欧美视频在线观看免费| 欧美日韩国产福利在线观看| 麻豆精品在线一区二区三区| 日本不卡在线一区二区三区| 国产情侣激情在线对白| 日韩欧美国产高清在线| 日韩欧美国产高清在线| 精品国产丝袜一区二区| 视频一区二区三区自拍偷| 日韩一级欧美一级久久| 99久只有精品免费视频播放| 国产午夜精品久久福利| 国产丝袜美女诱惑一区二区| 日韩高清毛片免费观看| 亚洲一区二区亚洲日本| 激情五月天深爱丁香婷婷| 日韩一级免费中文字幕视频| 99久久精品午夜一区二| 国内精品偷拍视频久久| 欧美精品一区二区三区白虎| 中文字字幕在线中文乱码二区| 女厕偷窥一区二区三区在线|