使用海外HTTP代理爬蟲時,我們該如何快速切換IP?
對於網路爬蟲工作者而言,換ip是他們工作裡的一部分,例如網站瀏覽太頻繁、論壇發帖、網路爬蟲、網路營銷等都需要不斷的更換ip才能順利的完成。
網際網路的飛速發展,不僅僅工作業務上需要用到換ip,生活中也息息相關,例如玩遊戲,透過換ip防止被封號或者被限制等問題,使用網際網路的時候不斷換ip可以很好地保護個人隱私安全,防止駭客追蹤與攻擊。
為了解決這方面問題,各種換IP軟體隨之出現,網上有各種方法和軟體,有收費的也有免費的,但是操作起來卻都不是那麼簡單,這裡就不一一列舉了,在這裡為大家介紹更換IP地址常見的4種方法。
一、ADSL撥號換IP
ADSL撥號就是寬頻撥號,也就是斷開重連路由,每次連線ip都會自動更換,這種方法操作比較繁瑣,只能偶爾使用。
二 、VPS撥號
在網路環境不好的情況,可以透過VPS撥號的方法進行更換ip, VPS撥號與ADSL撥號操作相同,斷開重連,相比之下比較穩定點。
三 、虛擬專用網路更換IP
簡單來說就是虛擬專用網路,切換其他位置的IP地址。
四:程式碼程式更換
話不多說直接上程式碼
1.配置環境,匯入包
# IP地址取自國內髙匿海外代理IP網站: smartproxycn.com/
# 僅僅爬取首頁IP地址就足夠一般使用
from bs4 import BeautifulSoup
import requests
import random
headers = {'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.116 Safari/537.36'}
2.獲取網頁內容函式
def getHTMLText(url,proxies):
try:
r = requests.get(url,proxies=proxies)
r.raise_for_status()
r.encoding = r.apparent_encoding
except:
return 0
else:
return r.text
3.從代理ip網站獲取代理ip列表函式,並檢測可用性,返回ip列表
def get_ip_list(url):
web_data = requests.get(url,headers)
soup = BeautifulSoup(web_data.text, 'html')
ips = soup.find_all('tr')
ip_list = []
for i in range(1, len(ips)):
ip_info = ips[i]
tds = ip_info.find_all('td')
ip_list.append(tds[1].text + ':' + tds[2].text)
#檢測ip可用性,移除不可用ip:(這裡其實總會出問題,你移除的ip可能只是暫時不能用,剩下的ip使用一次後可能之後也未必能用)
for ip in ip_list:
try:
proxy_host = " + ip
proxy_temp = {"https": proxy_host}
res = urllib.urlopen(url, proxies=proxy_temp).read()
except Exception as e:
ip_list.remove(ip)
continue
return ip_list
4.從ip池中隨機獲取ip列表
def get_random_ip(ip_list):
proxy_list = []
for ip in ip_list:
proxy_list.append(' + ip)
proxy_ip = random.choice(proxy_list)
proxies = {'http': proxy_ip}
return proxies
5.呼叫代理
if __name__ == '__main__':
url = ' smartproxycn.com/ '
ip_list = get_ip_list(url)
proxies = get_random_ip(ip_list)
print(proxies)
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70021123/viewspace-2913859/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 如何測試該海外HTTP代理適合爬蟲使用?HTTP爬蟲
- 如何用海外HTTP代理設定python爬蟲代理ip池?HTTPPython爬蟲
- 使用python爬蟲時如何防止被封?海外HTTP代理如何挑選購買?Python爬蟲HTTP
- 爬蟲如何使用ip代理池爬蟲
- Python網路爬蟲進階:自動切換HTTP代理IP的應用Python爬蟲HTTP
- 切換代理IP時如何檢查IP?
- 使用芝麻代理,爬蟲ip經常被封,該如何解決?爬蟲
- 海外HTTP代理如何呼叫API介面提取代理IP使用?HTTPAPI
- 爬蟲使用http代理有什麼作用?該怎麼選擇http代理?爬蟲HTTP
- 海外代理ip如何使用?
- 爬蟲時代理ip應該具備什麼條件?爬蟲
- 爬蟲如何運用 http 代理爬蟲HTTP
- 爬蟲代理IP的使用技巧爬蟲
- 爬蟲使用代理防封IP爬蟲
- 代理IP如何突破反爬蟲?爬蟲
- 如何建立爬蟲代理ip池爬蟲
- 爬蟲使用海外HTTP代理時常見的錯誤程式碼及解決方法爬蟲HTTP
- 如何使用海外HTTP代理訪問外網?如何設定海外HTTP代理?HTTP
- 爬蟲為什麼要用IP代理更換IP地址爬蟲
- 爬蟲動態http代理ip有什麼功能爬蟲HTTP
- 實用爬蟲-02-爬蟲真正使用代理 ip爬蟲
- 在海外代理IP服務中,如何使用代理IP
- 新手爬蟲使用http代理有哪些方式?爬蟲HTTP
- HTTP代理如何助力爬蟲採集工作?HTTP爬蟲
- 網路爬蟲怎麼使用ip代理爬蟲
- Python代理IP爬蟲的簡單使用Python爬蟲
- 爬蟲代理IP產品如何選擇爬蟲
- 如何用http代理的ip池繞過網站反爬蟲機制?HTTP網站爬蟲
- 爬蟲中的TCP請求自動切換ip爬蟲TCP
- 為什麼使用 HTTP 爬蟲代理更安全?HTTP爬蟲
- 爬蟲工作使用代理IP有哪些優勢?爬蟲
- 詳解HTTP代理與SOCKS代理 海外代理IP介紹HTTP
- 爬蟲代理怎麼選ip爬蟲
- 網路爬蟲之關於爬蟲 http 代理的常見使用方式爬蟲HTTP
- 分散式爬蟲有哪些使用代理IP的方法?分散式爬蟲
- 如何利用代理ip提高爬蟲的工作效率爬蟲
- 導致爬蟲代理IP超時的四種原因爬蟲
- python爬蟲時ip被封如何解決Python爬蟲