最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python爬蟲(chóng)抓取代理IP并檢驗(yàn)可用性的實(shí)例

 更新時(shí)間:2018年05月07日 10:59:43   作者:lukaishilong  
今天小編就為大家分享一篇Python爬蟲(chóng)抓取代理IP并檢驗(yàn)可用性的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧

經(jīng)常寫(xiě)爬蟲(chóng),難免會(huì)遇到ip被目標(biāo)網(wǎng)站屏蔽的情況,銀次一個(gè)ip肯定不夠用,作為節(jié)約的程序猿,能不花錢(qián)就不花錢(qián),那就自己去找吧,這次就寫(xiě)了下抓取 西刺代理上的ip,但是這個(gè)網(wǎng)站也反爬!??!

至于如何應(yīng)對(duì),我覺(jué)得可以通過(guò)增加延時(shí)試試,可能是我抓取的太頻繁了,所以被封IP了。

但是,還是可以去IP巴士試試的,條條大路通羅馬嘛,不能吊死在一棵樹(shù)上。

不廢話,上代碼。

#!/usr/bin/env python
# -*- coding:utf8 -*-
import urllib2
import time
from bs4 import BeautifulSoup
import sys
reload(sys)
sys.setdefaultencoding( "utf-8" )
req_header = {'User-Agent':'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.64 Safari/537.11',
 'Accept':'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
 #'Accept-Language': 'en-US,en;q=0.8,zh-Hans-CN;q=0.5,zh-Hans;q=0.3',
 'Accept-Charset':'ISO-8859-1,utf-8;q=0.7,*;q=0.3',
 'Accept-Encoding':'en-us',
 'Connection':'keep-alive',
 'Referer':'http://www.baidu.com/'
 }
req_timeout = 5
testUrl = "http://www.baidu.com/"
testStr = "wahaha"
file1 = open('proxy.txt' , 'w')
# url = ""
# req = urllib2.Request(url,None,req_header)
# jsondatas = urllib2.urlopen(req,None,req_timeout).read()
cookies = urllib2.HTTPCookieProcessor()
checked_num = 0
grasp_num = 0
for page in range(1, 160):
 req = urllib2.Request('http://www.xici.net.co/nn/' + str(page), None, req_header)
 html_doc = urllib2.urlopen(req, None, req_timeout).read()
 # html_doc = urllib2.urlopen('http://www.xici.net.co/nn/' + str(page)).read()
 soup = BeautifulSoup(html_doc)
 trs = soup.find('table', id='ip_list').find_all('tr')
 for tr in trs[1:]:
  tds = tr.find_all('td')
  ip = tds[1].text.strip()
  port = tds[2].text.strip()
  protocol = tds[5].text.strip()
  if protocol == 'HTTP' or protocol == 'HTTPS':
   #of.write('%s=%s:%s\n' % (protocol, ip, port))
   print '%s=%s:%s' % (protocol, ip, port)
   grasp_num +=1
   proxyHandler = urllib2.ProxyHandler({"http": r'http://%s:%s' % (ip, port)})
   opener = urllib2.build_opener(cookies, proxyHandler)
   opener.addheaders = [('User-Agent',
         'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36')]
   t1 = time.time()
   try:
    req = opener.open(testUrl, timeout=req_timeout)
    result = req.read()
    timeused = time.time() - t1
    pos = result.find(testStr)
    if pos > 1:
     file1.write(protocol+"\t"+ip+"\t"+port+"\n")
     checked_num+=1
     print checked_num, grasp_num
    else:
     continue
   except Exception,e:
    continue
file1.close()
print checked_num,grasp_num

個(gè)人感覺(jué)代碼里沒(méi)有太復(fù)雜的,就沒(méi)有加注釋?zhuān)嘈糯蠹一究梢岳斫?,如有?wèn)題也請(qǐng)多批評(píng)指正,共同進(jìn)步!

以上這篇Python爬蟲(chóng)抓取代理IP并檢驗(yàn)可用性的實(shí)例就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Python爬蟲(chóng)之Selenium多窗口切換的實(shí)現(xiàn)

    Python爬蟲(chóng)之Selenium多窗口切換的實(shí)現(xiàn)

    這篇文章主要介紹了Python爬蟲(chóng)之Selenium多窗口切換的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12
  • python讀寫(xiě)數(shù)據(jù)讀寫(xiě)csv文件(pandas用法)

    python讀寫(xiě)數(shù)據(jù)讀寫(xiě)csv文件(pandas用法)

    這篇文章主要介紹了python讀寫(xiě)數(shù)據(jù)讀寫(xiě)csv文件(pandas用法),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12
  • Python日志無(wú)延遲實(shí)時(shí)寫(xiě)入的示例

    Python日志無(wú)延遲實(shí)時(shí)寫(xiě)入的示例

    今天小編就為大家分享一篇Python日志無(wú)延遲實(shí)時(shí)寫(xiě)入的示例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-07-07
  • 關(guān)于python中的xpath解析定位

    關(guān)于python中的xpath解析定位

    這篇文章主要介紹了關(guān)于python中的xpath解析定位,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-03-03
  • 一篇文章帶你了解Python和Java的正則表達(dá)式對(duì)比

    一篇文章帶你了解Python和Java的正則表達(dá)式對(duì)比

    正則表達(dá)式有元字符及不同組合來(lái)構(gòu)成,通過(guò)巧妙的構(gòu)造正則表達(dá)式可以匹配任意字符串,并完成復(fù)雜的字符串處理任務(wù),希望本片文章能給你帶來(lái)幫助
    2021-09-09
  • python3+PyQt5實(shí)現(xiàn)柱狀圖

    python3+PyQt5實(shí)現(xiàn)柱狀圖

    這篇文章主要為大家詳細(xì)介紹了python3+PyQt5實(shí)現(xiàn)柱狀圖的方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-04-04
  • 用60行代碼實(shí)現(xiàn)Python自動(dòng)搶微信紅包

    用60行代碼實(shí)現(xiàn)Python自動(dòng)搶微信紅包

    這篇文章主要介紹了用60行代碼實(shí)現(xiàn)Python自動(dòng)搶微信紅包,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-02-02
  • 在Python dataframe中出生日期轉(zhuǎn)化為年齡的實(shí)現(xiàn)方法

    在Python dataframe中出生日期轉(zhuǎn)化為年齡的實(shí)現(xiàn)方法

    這篇文章主要介紹了在Python dataframe中出生日期轉(zhuǎn)化為年齡的實(shí)現(xiàn)方法,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2018-10-10
  • Python進(jìn)階之使用selenium爬取淘寶商品信息功能示例

    Python進(jìn)階之使用selenium爬取淘寶商品信息功能示例

    這篇文章主要介紹了Python進(jìn)階之使用selenium爬取淘寶商品信息功能,結(jié)合實(shí)例形式詳細(xì)分析了Python使用selenium與requests模塊爬取淘寶商品信息的相關(guān)操作技巧,需要的朋友可以參考下
    2019-09-09
  • 詳解pandas繪制矩陣散點(diǎn)圖(scatter_matrix)的方法

    詳解pandas繪制矩陣散點(diǎn)圖(scatter_matrix)的方法

    這篇文章主要介紹了詳解pandas繪制矩陣散點(diǎn)圖(scatter_matrix)的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-04-04

最新評(píng)論

株洲县| 二连浩特市| 大渡口区| 武川县| 乐清市| 怀安县| 安龙县| 青冈县| 堆龙德庆县| 邵阳市| 昭通市| 凤台县| 宝坻区| 大城县| 改则县| 都兰县| 大城县| 离岛区| 公安县| 津南区| 平南县| 尼木县| 三原县| 聂拉木县| 弥渡县| 公安县| 汉阴县| 松桃| 莫力| 荃湾区| 双流县| 永州市| 正蓝旗| 屯门区| 门头沟区| 恩平市| 易门县| 普安县| 阿合奇县| 民和| 榆社县|