1. 程式人生 > >ip 代理池的獲取

ip 代理池的獲取

沒充錢只能撿撿別人剩下的,,,拿著別人免費的ip一個個試吧,可行率極低,,,

在http://www.xicidaili.com/nt/上爬取ip

附上其他還不錯的網站:

http://www.66ip.cn/

http://www.coobobo.com/

http://cn-proxy.com/

https://www.kuaidaili.com/free/inha/

在http://2017.ip138.com/ic.asp上驗證ip可行性

import random,requests,time,re
from fake_useragent import UserAgent 

def get_random_header():
    header = {
        'User-Agent': "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.36",
        'Referer': 'http://www.xicidaili.com/wt',
    }
    return header

def test_ip(ip,test_url='http://2017.ip138.com/ic.asp',time_out=3):
    proxies={'http': ip[0]+':'+ip[1]}
    try_ip=ip[0]
    #print(try_ip)
    try:
        r=requests.get(test_url,headers=get_random_header(),proxies=proxies,timeout=time_out)
        if r.status_code==200:
            r.encoding='gbk'
            result=re.search('\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}',r.text)
            result=result.group()
            if result[:9]==try_ip[:9]:
                print(r.text)
                print('測試通過')
                return True
            else:
                #print('%s:%s 攜帶代理失敗,使用了本地IP' %(ip[0],ip[1]))
                return False    
        else:
            #print('%s:%s 請求碼不是200' %(ip[0],ip[1]))
            return False
    except:
        #print('%s:%s 請求過程錯誤' %(ip[0],ip[1]))
        return False

def   scraw_proxies(page_num,scraw_url="http://www.xicidaili.com/nt/"):
    scraw_ip=list()
    available_ip=list()
    for page in range(1,page_num):
        print("抓取第%d頁代理IP" %page)
        url=scraw_url+str(page)
        r=requests.get(url,headers=get_random_header())
        r.encoding='utf-8'
        pattern = re.compile('<td class="country">.*?alt="Cn" />.*?</td>.*?<td>(.*?)</td>.*?<td>(.*?)</td>', re.S)
        scraw_ip= re.findall(pattern, r.text)
        print(scraw_ip)
        for ip in scraw_ip:
            if(test_ip(ip)==True):
                print('%s:%s通過測試,新增進可用代理列表' %(ip[0],ip[1]))
                available_ip.append(ip)
                                    
            else:
                pass    
        print("代理爬蟲暫停10s")
        time.sleep(10)
        print("爬蟲重啟")
    print('抓取結束')
    return available_ip

if __name__=="__main__":
    available_ip=scraw_proxies(3)

相關推薦

ip 代理獲取

沒充錢只能撿撿別人剩下的,,,拿著別人免費的ip一個個試吧,可行率極低,,,在http://www.xicidaili.com/nt/上爬取ip附上其他還不錯的網站:http://www.66ip.cn/http://www.coobobo.com/http://cn-pro

通過上次寫的自動獲取IP代理,訪問whatismyip,來測試ip代理訪問

程式碼有時執行不成功,可能是代理地址問題。檔案簡單介紹建立opener物件。 優秀文章:http://www.jb51.net/article/46495.htm #-*-coding:UTF-8-

ip代理-基於mongodb數據庫

url upd tostring mls from path ida request protocol 代碼用的python2.7,抓取xici免費代理,檢測放入數據庫中,為以後爬蟲做準備。下面直接上代碼 1 #-*-encoding=utf-8-*- 2 3 i

centos7生產環境IP代理(python)

.py openssl href snappy ttext ima sna make per 最近在研究爬蟲,需要在前面部署IP代理池,於是在開源中國找到proxy pool。可以自動抓取國內幾個免費IP代理網站的IP,並實時校驗IP的可用性,數據庫為SSDB。IP代理池網

python學習 —— 建立IP代理

圖片 端口 position except app rtl 分享圖片 ipp use   代碼: from bs4 import BeautifulSoup from requests import Session, get, post from time imp

小白也能做的IP代理,好久沒更新了,不知道你們想看什麽呢!

不知道 一個 pytho 爬取 save 包含著 異步處理 使用方法 gen IP代理池制作 GitHub主頁: https://github.com/hfldqwe/ 使用工具: ip代理抓取: requests 後臺搭建: Django+Redis 代理檢測: ip

Python爬蟲之ip代理

clas 檢查 isp turn pre image 小白 flat for 可能在學習爬蟲的時候,遇到很多的反爬的手段,封ip 就是其中之一。 對於封IP的網站。需要很多的代理IP,去買代理IP,對於初學者覺得沒有必要,每個賣代理IP的網站有的提供了免

【Python3爬蟲】Scrapy使用IP代理和隨機User-Agent

findall 4.3 sdch 5.0 agen and 由於 付費 status 在使用爬蟲的時候,有時候會看到由於目標計算機積極拒絕,無法連接...,這就是因為我們的爬蟲被識別出來了,而這種反爬蟲主要是通過IP識別的,針對這種反爬蟲,我們可以搭建一個自己的IP代理池,

自己搭建億級爬蟲IP代理

做爬蟲抓取時,我們經常會碰到網站針對IP地址封鎖的反爬蟲策略。但只要有大量可用的IP資源,問題自然迎刃而解。 以前嘗試過自己抓取網路上免費代理IP來搭建代理池,可免費IP質量參差不齊,不僅資源少、速度慢,而且失效快,滿足不了快速密集抓取的需求。 收費代理提供的代理資源質量明顯提升,經過多家測試,

ProxyApi-大資料採集用的IP代理

用於大資料採集用的代理池 在資料採集的過程中,最需要的就是一直變化的代理ip。 自建adsl為問題是隻有一個區域的IP。 買的代理存在的問題是不穩定,影響採集效率。 雲vps不允許安裝花生殼等,即使有花生殼,它的解析也不及時,跟不上3分鐘變一次。 本專案的作用是將目前的雲vps,安裝代理軟體,然後使用指令碼每

爬蟲ip代理新建(使用芝麻ip代理

如果真入職爬蟲工程師職位後,真正做爬蟲爬取資料的過程,將會使用大量的ip做ip替換,否則很容易被封ip,導致資料獲取無法持續下去。 而現在市面上的免費代理其實很多都是無效的,或者持續效果很低效的。因此需要找到一個穩定高效且效果不錯的代理商。 現在我就把自己目前使用的ip代理和自己獲取代理使用

python 反爬總結(1)- 限制IP UA 的解決方法,修改headers和新增IP代理

在學習python爬蟲的過程中,遇到各種反爬機制,個人總結了一下: 對同樣的ip或User-Agent進行限制, 對頻繁訪問的ip進行限制, 設定登陸限制, 設定驗證碼, 設定Ajax載入頁面。 目前小白我也就瞭解這麼多,其中驗證碼的反反爬還在學習當中,學無止境啊 &

怎樣簡單的搭建一個免費的IP代理

之前寫過一篇python實戰專案二:獲取IP代理的文章,不過說實話,這個程式有幾點不足,以至於不能愉快玩耍之後,我就重新整理了思路,又寫了一個關於獲取免費IP代理的程式碼。在這兒我想寫反思一下之前這個程式碼的主要不足: 第一點,由於資料很雜,所以在提取資訊時頻繁的使用了迴圈

scrapy中設定IP代理(自定義IP代理

首先主要的就是你應該對scrapy目錄結構,有一個相對清晰的認識,至少有過一個demo 一、手動更新IP池 1.在settings配置檔案中新增IP池: IPPOOL=[ {"ipaddr":"61.129.70.131:8080"}, {"ipaddr":"61.152

python3 requests IP代理出錯

Traceback (most recent call last): File "E:/py1803/pachong/mimimovie/movies_spider.py", line 129, in <module> m.get_content()

建立自己的IP代理[爬取西刺代理]

一:基本引數和匯入的包 import requests import re import random url = 'http://www.xicidaili.com/nn' headers = {'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64)

使用ip代理爬蟲時,requests模組get請求出現問題_AttributeError: 'str' object has no attribute 'get'

問題描述:專案使用ip代理池對網頁進行資料爬取,但是requests模組get方法出現問題,出錯如下:   File "E:\project\venv\lib\site-packages\requests\api.py", line 75, in get     r

python爬取身份證資訊、爬取ip代理

  匹配的分類 按照匹配內容進行匹配               我們在匹配的過程當中,按照要匹配的內容的型別和數量進行匹配  &nb

Java網路爬蟲(七)--實現定時爬取與IP代理

定點爬取 當我們需要對金融行業的股票資訊進行爬取的時候,由於股票的價格是一直在變化的,我們不可能手動的去每天定時定點的執行程式,這個時候我們就需要實現定點爬取了,我們引入第三方庫quartz的使用: package timeutils; imp

ADSL撥號代理-構建IP代理

購買撥號VPS 雲立方:http://www.yunlifang.cn/ 預裝系統centos7.1 撥號主機設定 1.撥號上網 adsl-start //開始撥號 ping www.baidu.com //看能否ping通網址 ad