主頁 > 知識(shí)庫 > python爬蟲設(shè)置每個(gè)代理ip的簡單方法

python爬蟲設(shè)置每個(gè)代理ip的簡單方法

熱門標(biāo)簽:ai電銷機(jī)器人源碼 ai電話機(jī)器人哪里好 西藏房產(chǎn)智能外呼系統(tǒng)要多少錢 外呼并發(fā)線路 長沙高頻外呼系統(tǒng)原理是什么 湛江智能外呼系統(tǒng)廠家 百度地圖標(biāo)注沒有了 地圖標(biāo)注審核表 宿遷星美防封電銷卡

python爬蟲設(shè)置每個(gè)代理ip的方法:

1.添加一段代碼,設(shè)置代理,每隔一段時(shí)間換一個(gè)代理。

urllib2 默認(rèn)會(huì)使用環(huán)境變量 http_proxy 來設(shè)置 HTTP Proxy。假如一個(gè)網(wǎng)站它會(huì)檢測(cè)某一段時(shí)間某個(gè) IP 的訪問次數(shù),如果訪問次數(shù)過多,它會(huì)禁止你的訪問。所以你可以設(shè)置一些代理服務(wù)器來幫助你做工作,每隔一段時(shí)間換一個(gè)代理,網(wǎng)站君都不知道是誰在搗鬼了,這酸爽! 下面一段代碼說明了代理的設(shè)置用法。

import urllib2
enable_proxy = True
proxy_handler = urllib2.ProxyHandler({"http" : 'http://some-proxy.com:8080'})
null_proxy_handler = urllib2.ProxyHandler({})
if enable_proxy:
    opener = urllib2.build_opener(proxy_handler)
else:
    opener = urllib2.build_opener(null_proxy_handler)
urllib2.install_opener(opener)

2.Timeout 設(shè)置,可以解決一些網(wǎng)站出現(xiàn)響應(yīng)過慢而造成的影響問題。

之前已經(jīng)說過urlopen 方法了,第三個(gè)參數(shù)就是 timeout 的設(shè)置,可以設(shè)置等待多久超時(shí),為了解決一些網(wǎng)站實(shí)在響應(yīng)過慢而造成的影響。 例如下面的代碼,如果第二個(gè)參數(shù) data 為空那么要特別指定是 timeout 是多少,寫明形參,如果 data 已經(jīng)傳入,則不必聲明。

import urllib2
response = urllib2.urlopen('http://www.baidu.com', timeout=10)
import urllib2
response = urllib2.urlopen('http://www.baidu.com',data, 10)

以上就是Python爬蟲中設(shè)置代理的方法。結(jié)尾的時(shí)候我們補(bǔ)充了timeout的用法,本意是希望可以讓大家需要網(wǎng)絡(luò)過慢問題能有好的解決出路。

不過,地址代理方面用的較為多,所以要著重學(xué)習(xí)。如果需要用的ip可以試試太陽http,爬蟲采集、營銷推廣、工作室等行業(yè)首選的IP產(chǎn)品,全國城市線路數(shù)量200+,API調(diào)用頻率不限制,不限并發(fā),24小時(shí)不斷更新IP池。

知識(shí)點(diǎn)擴(kuò)展:

代碼擴(kuò)展:

from bs4 import BeautifulSoup
import requests
import random

def get_ip_list(url, headers):
 web_data = requests.get(url, headers=headers)
 soup = BeautifulSoup(web_data.text, 'lxml')
 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)
 return ip_list

def get_random_ip(ip_list):
 proxy_list = []
 for ip in ip_list:
  proxy_list.append('http://' + ip)
 proxy_ip = random.choice(proxy_list)
 proxies = {'http': proxy_ip}
 return proxies

if __name__ == '__main__':
 url = 'http://www.xicidaili.com/nn/'
 headers = {
 'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.60 Safari/537.17'
 }
 ip_list = get_ip_list(url, headers=headers)
 proxies = get_random_ip(ip_list)
 print(proxies)

到此這篇關(guān)于python爬蟲設(shè)置每個(gè)代理ip的簡單方法的文章就介紹到這了,更多相關(guān)python爬蟲如何設(shè)置每個(gè)代理ip內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • Python爬蟲技術(shù)
  • Python爬蟲爬取商品失敗處理方法
  • Python獲取江蘇疫情實(shí)時(shí)數(shù)據(jù)及爬蟲分析
  • Python爬蟲之Scrapy環(huán)境搭建案例教程
  • Python爬蟲中urllib3與urllib的區(qū)別是什么
  • 教你如何利用python3爬蟲爬取漫畫島-非人哉漫畫
  • Python趣味爬蟲之爬取愛奇藝熱門電影
  • python 簡單的股票基金爬蟲
  • 零基礎(chǔ)學(xué)習(xí)Python爬蟲

標(biāo)簽:普洱 漯河 寧夏 海南 大同 林芝 南平 盤錦

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《python爬蟲設(shè)置每個(gè)代理ip的簡單方法》,本文關(guān)鍵詞  python,爬蟲,設(shè)置,每個(gè),代理,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《python爬蟲設(shè)置每個(gè)代理ip的簡單方法》相關(guān)的同類信息!
  • 本頁收集關(guān)于python爬蟲設(shè)置每個(gè)代理ip的簡單方法的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章