簡(jiǎn)單示例解析python爬蟲IP的使用(小白篇)
創(chuàng)建一個(gè)IP池并對(duì)其進(jìn)行管理
Python爬蟲常常會(huì)面臨自己ip地址被封的情況,也許剛?cè)胄械男“拙椭荒艿萯p解封之后再進(jìn)行接下來的操作了,但是這樣的方式卻是最不能借鑒的,萬一數(shù)據(jù)需求量大,那要等到猴年馬月呢?所以今天我們就來探討下如何創(chuàng)建一個(gè)IP池并對(duì)其進(jìn)行管理。對(duì)剛?cè)胄械男“缀苡袔椭?希望大家耐心看下去,需要的朋友可以參考下。
很多的網(wǎng)站都有反爬機(jī)制,其中就有這樣一條,就是服務(wù)器會(huì)檢查請(qǐng)求的user-agent參數(shù)值,如果檢查的結(jié)果為python,那么服務(wù)器就知道這是爬蟲,所以為了避免被服務(wù)器發(fā)現(xiàn)這是爬蟲,我們需要添加隨機(jī)user-agen。這樣就可以避免服務(wù)器發(fā)現(xiàn)這是同一個(gè)user-agent發(fā)起多次請(qǐng)求。
還有一條就是網(wǎng)站會(huì)封IP,一般這樣的情況就直接添加代理IP就可以,那么,從哪里獲取IP呢?小編用的是億牛云的這個(gè)網(wǎng)址,網(wǎng)址鏈接為:https://www.16yun.cn/,。
動(dòng)態(tài)轉(zhuǎn)發(fā)代理
很多小白會(huì)問怎么使用IP,這里介紹一種最簡(jiǎn)單方便的方式,那就是動(dòng)態(tài)轉(zhuǎn)發(fā)代理,我們接下來分享個(gè)示例供大家參考下:
#! -- encoding:utf-8 --
import requests import random # 要訪問的目標(biāo)頁(yè)面 targetUrl = "http://httpbin.org/ip" # 要訪問的目標(biāo)HTTPS頁(yè)面 # targetUrl = "https://httpbin.org/ip" # 代理服務(wù)器(產(chǎn)品官網(wǎng) www.16yun.cn) proxyHost = "t.16yun.cn" proxyPort = "31111" # 代理驗(yàn)證信息 proxyUser = "username" proxyPass = "password" proxyMeta = "http://%(user)s:%(pass)s@%(host)s:%(port)s" % { "host" : proxyHost, "port" : proxyPort, "user" : proxyUser, "pass" : proxyPass, } # 設(shè)置 http和https訪問都是用HTTP代理 proxies = { "http" : proxyMeta, "https" : proxyMeta, } # 設(shè)置IP切換頭 tunnel = random.randint(1,10000) headers = {"Proxy-Tunnel": str(tunnel)} resp = requests.get(targetUrl, proxies=proxies, headers=headers) print resp.status_code print resp.text
驗(yàn)證
那我們?cè)谔砑恿舜鞩P之后怎么驗(yàn)證使用的ip是否可用?這里我們可以通過訪問IP檢測(cè)網(wǎng)址驗(yàn)證:
http://current.ip.16yun.cn:802,只要返回的是代理IP那么就證明代理使用成功了,我們可以直接去訪問需要獲取的數(shù)據(jù)網(wǎng)站了。
以上就是簡(jiǎn)單示例解析python爬蟲IP的使用的詳細(xì)內(nèi)容,更多關(guān)于python爬蟲IP使用的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Python實(shí)現(xiàn)的插入排序,冒泡排序,快速排序,選擇排序算法示例
這篇文章主要介紹了Python實(shí)現(xiàn)的插入排序,冒泡排序,快速排序,選擇排序算法,結(jié)合實(shí)例形式總結(jié)分析了Python插入排序,冒泡排序,快速排序,選擇排序等算法的實(shí)現(xiàn)與使用技巧,需要的朋友可以參考下2019-05-05Python中的“_args”和“__kwargs”用法詳解
*args 和 **kwargs 主要?于函數(shù)定義,你可以將不定數(shù)量的參數(shù)傳遞給?個(gè)函數(shù),這篇文章主要介紹了Python中的“_args”和“__kwargs”用法,需要的朋友可以參考下2023-01-01python2 與 pyhton3的輸入語(yǔ)句寫法小結(jié)
這篇文章主要給大家介紹了關(guān)于python2 與 pyhton3的輸入語(yǔ)句寫法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2018-09-09Python中selenium_webdriver下拉框操作指南
selenium 雖然過了這么多年,但是到目前為止依然是比較流行的自動(dòng)化框架了,下面這篇文章主要給大家介紹了關(guān)于Python中selenium_webdriver下拉框操作的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-01-01詳細(xì)分析Python collections工具庫(kù)
這篇文章主要介紹了詳解Python collections工具庫(kù)的相關(guān)資料,文中講解非常細(xì)致,代碼幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下2020-07-07Tensorflow分類器項(xiàng)目自定義數(shù)據(jù)讀入的實(shí)現(xiàn)
這篇文章主要介紹了Tensorflow分類器項(xiàng)目自定義數(shù)據(jù)讀入的實(shí)現(xiàn),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2019-02-02