<menu id="0gqx3"></menu>

  • <menu id="0gqx3"><strong id="0gqx3"></strong></menu>
    <input id="0gqx3"></input>
    <nav id="0gqx3"></nav>

    免費ip地址代理軟件(免費代理ip)

    哈嘍,大家好,我是強哥。

    這幾天,鬼滅之刃游郭篇就要上線(xiàn)了,強哥的一個(gè)朋友非常喜歡鬼滅之刃,可以說(shuō)是到了癡迷的地步。每次新篇上線(xiàn)都會(huì )第一時(shí)間觀(guān)看。雖然這次上線(xiàn)之前,這家伙就已經(jīng)看過(guò)了,不過(guò)這消息還是把他激動(dòng)的不行,拉著(zhù)我要我和他重溫一遍。

    這不,昨天,還找我要了個(gè)爬蟲(chóng)代碼,去網(wǎng)上搜刮各種鬼滅之刃相關(guān)的圖片??墒?,在我給他代碼后不到一個(gè)小時(shí),這家伙就又罵罵咧咧的跑過(guò)來(lái)找我算賬了,說(shuō)用了我的代碼,剛開(kāi)始爬得還挺好,很舒服??墒沁^(guò)了將近半小時(shí),就發(fā)現,有兩個(gè)他經(jīng)??磮D的網(wǎng)站爬不到圖片了。而且,不用軟件,自己用電腦瀏覽器也沒(méi)法訪(fǎng)問(wèn)這倆網(wǎng)站了,這讓他非常惱火。

    聽(tīng)了他這么一說(shuō),我就大概明白了個(gè)十有八九,應該是爬的有點(diǎn)兇IP被封了。用手機5G網(wǎng)絡(luò )看了下對應的網(wǎng)站,確實(shí)還是可以正常訪(fǎng)問(wèn),那就沒(méi)錯了。

    趕緊和這家伙說(shuō)了一些爬蟲(chóng)相關(guān)法律知識,爬蟲(chóng)雖好可以解脫我們的雙手,可是爬的太兇容易被請喝茶。前幾年不是還有個(gè)公司的CTO和程序員被抓判刑了嗎。所以自己還是要控制好頻率,不要沒(méi)有節制……

    大道理講了一通,可是,現在他還想繼續下怎么辦呢?沒(méi)辦法,只好找找代理了,這家伙又是化石白嫖黨,讓他出錢(qián)是沒(méi)辦法了,強哥只好自己祭出大招了。

    IP代理池

    沒(méi)錯,要解決這個(gè)辦法,最簡(jiǎn)單好用的就是IP代理池了,也就是搞到一大堆的可正常使用的代理IP,然后我們用爬蟲(chóng)的時(shí)候,請求不直接發(fā)送到目標網(wǎng)站,而是借助代理IP,把請求先發(fā)到代理服務(wù)器,代理服務(wù)器再幫我們把請求發(fā)送到目標網(wǎng)站。這樣,假如被目標網(wǎng)站發(fā)現了,封的也是代理的IP不是我們自己的IP啦。

    至于為什么要用到代理池,主要還是怕老用同一個(gè)代理IP被封了就又沒(méi)法訪(fǎng)問(wèn)了,多搞幾個(gè)寧濫毋缺嘛。

    ProxyPool

    既然要白嫖,那必須找找開(kāi)源項目。既然要找開(kāi)源項目,那必須要夠專(zhuān)業(yè)的才配的上強哥的代碼。所以,這次的主角是《Python3網(wǎng)絡(luò )爬蟲(chóng)開(kāi)發(fā)實(shí)戰》的作者崔慶才的開(kāi)源項目:ProxyPool。

    先簡(jiǎn)單介紹下項目結構吧:

    代理池分為四個(gè)部分,獲取模塊、存儲模塊、檢測模塊、接口模塊。

    • 存儲模塊使用 Redis 的有序集合,用以代理的去重和狀態(tài)標識,同時(shí)它也是中心模塊和基礎模塊,將其他模塊串聯(lián)起來(lái)。
    • 獲取模塊定時(shí)從代理網(wǎng)站獲取代理,將獲取的代理傳遞給存儲模塊,保存到數據庫。
    • 檢測模塊定時(shí)通過(guò)存儲模塊獲取所有代理,并對其進(jìn)行檢測,根據不同的檢測結果對代理設置不同的標識。
    • 接口模塊通過(guò) Web API 提供服務(wù)接口,其內部還是連接存儲模塊,獲取可用的代理。

    項目原理是在各大提供IP代理池的網(wǎng)站把IP搞過(guò)來(lái)然后程序測試能用之后,才會(huì )存下來(lái)供我們使用,相當于幫助我們省去了找免費IP代理的時(shí)間。

    當然,如果只是拿來(lái)用,也不用過(guò)多的在意這些細節,我們直接沖。

    上手

    ProxyPool需要本地運行起來(lái),運行起來(lái)后,會(huì )在本地暴露一個(gè)接口地址: http://localhost:5555/random 直接訪(fǎng)問(wèn)即可獲取一個(gè)隨機可用代理IP。

    強哥用Docker方式下載項目鏡像后,用docker-compose up命令把服務(wù)運行起來(lái)了,然后瀏覽器訪(fǎng)問(wèn)效果如下:

    沒(méi)錯,返回的120.196.112.6:3128就是代理IP啦。

    Docker鏡像下載方式:

    docker pull germey/proxypool
    

    也想搞一波的小伙伴,自己到GitHub上看看吧,用起來(lái)還是很簡(jiǎn)單的: https://github.com/Python3WebSpider/ProxyPool

    怎么幫朋友

    既然工具有了,就把之前我給朋友的爬蟲(chóng)代碼拿過(guò)來(lái),把代理池懟上去就行了。當然,這里就不直接暴露我的爬蟲(chóng)代碼了,給一個(gè)官方示例代碼吧,和我寫(xiě)的也差不多:

    import requests
    
    proxypool_url = 'http://127.0.0.1:5555/random'
    target_url = 'http://httpbin.org/get'
    
    def get_random_proxy():
        """
        get random proxy from proxypool
        :return: proxy
        """
        return requests.get(proxypool_url).text.strip()
    
    def crawl(url, proxy):
        """
        use proxy to crawl page
        :param url: page url
        :param proxy: proxy, such as 8.8.8.8:8888
        :return: html
        """
        proxies = {'http': 'http://' + proxy}
        return requests.get(url, proxies=proxies).text
    
    
    def main():
        """
        main method, entry point
        :return: none
        """
        proxy = get_random_proxy()
        print('get random proxy', proxy)
        html = crawl(target_url, proxy)
        print(html)
    
    if __name__ == '__main__':
        main()
    

    可以看到,用到代理的方式關(guān)鍵就是這句:requests.get(url, proxies=proxies),直接把獲取到的代理IP搞到proxies去就行了。

    這里還要提到代碼中用到的另一個(gè)開(kāi)源項目的地址,對,就是http://httpbin.org/get,我們可以根據這個(gè)地址返回的數據判斷我們發(fā)起訪(fǎng)問(wèn)該地址的IP。

    強哥直接用瀏覽器訪(fǎng)問(wèn)的效果:

    可以看到這里用了本地IP。

    換用上面的代理代碼訪(fǎng)問(wèn)的效果:

    可以看到,返回的origin確實(shí)使用了代理IP。也就是說(shuō),我們的IP代理池使用成功了。

    強哥朋友在拿到新的爬蟲(chóng)代碼,并進(jìn)行了頻率的節制,終于不再怎么被封IP了。順帶送了我一張圖:

    怎么說(shuō)呢?沒(méi)咬竹子的禰豆子不是好豆子。

    搞更深點(diǎn)

    IP代理池這玩意除了用在爬蟲(chóng)上還會(huì )被用在哪呢?

    嗯……如果看了強哥上篇文章的小伙伴應該能猜到,當然是DoS攻擊了,其實(shí)爬蟲(chóng)和DoS攻擊,在某些地方還是有交集的,爬蟲(chóng)控制的不好很可能就成了DoS。這個(gè)就不做過(guò)多擴展了。

    強哥前天還看了個(gè)DoS攻擊的項目,用到了反射原理來(lái)進(jìn)行的攻擊,哈哈,之前都是看DoS攻擊方式介紹的時(shí)候有了解到,這回看到代碼還挺激動(dòng),有機會(huì )和大家也介紹下。

    好了,這篇文章的內容發(fā)貨聯(lián)盟就和大家分享到這里,如果大家網(wǎng)絡(luò )推廣引流創(chuàng )業(yè)感興趣,可以添加微信:80709525  備注:發(fā)貨聯(lián)盟引流學(xué)習; 我拉你進(jìn)直播課程學(xué)習群,每周135晚上都是有實(shí)戰干貨的推廣引流技術(shù)課程免費分享!


    版權聲明:本文內容由互聯(lián)網(wǎng)用戶(hù)自發(fā)貢獻,該文觀(guān)點(diǎn)僅代表作者本人。本站僅提供信息存儲空間服務(wù),不擁有所有權,不承擔相關(guān)法律責任。如發(fā)現本站有涉嫌抄襲侵權/違法違規的內容, 請發(fā)送郵件至 sumchina520@foxmail.com 舉報,一經(jīng)查實(shí),本站將立刻刪除。

    您可能還會(huì )喜歡:

    發(fā)表評論

    ◎歡迎參與討論,請在這里發(fā)表您的看法、交流您的觀(guān)點(diǎn)。
    思思久久精品超碰,啪啪啪网站,亚洲动漫乱伦,最新中文字字幕在线中文无码