<listing id="fdftx"></listing>

        <address id="fdftx"></address>
        <address id="fdftx"><address id="fdftx"><nobr id="fdftx"></nobr></address></address>
        <address id="fdftx"><listing id="fdftx"><nobr id="fdftx"></nobr></listing></address>

        <address id="fdftx"><nobr id="fdftx"><meter id="fdftx"></meter></nobr></address><address id="fdftx"><th id="fdftx"><progress id="fdftx"></progress></th></address>

          [代理百科]ip代理池的設計過程

          發布時間:2020-05-31 關注熱度:°C

            如果對于網絡爬蟲還是比較新接觸的用戶,可能不太明白這是什么意思。在瀏覽一些爬蟲技術網站的時候,ip代理池這個詞出現的頻率很高,下面ip代理通過代理池的設計流程,來給大家分解介紹。

          ip代理池的設計過程

            IP海代理池設計教程:

            代理池由四部分組成:

            ProxyGetter:

            代理獲取接口,網上找到免費IP的提供商,每調用一次就會抓取網站的最新代理放入DB,可自行添加額外的代理獲取接口;

            DB:

            用于存放ip代理,現在暫時只支持SSDB。至于為什么選擇SSDB,大家可以參考這篇文章,個人覺得SSDB是個不錯的Redis替代方案,如果你沒有用過SSDB,安裝起來也很簡單。

            Schedule:

            計劃任務用戶定時去檢測DB中的代理可用性,刪除不可用的代理。同時也會主動通過ProxyGetter去獲取最新代理放入DB。

            ProxyApi:

            代理池的外部接口,由于現在這么代理池功能比較簡單,花兩個小時看了下Flask,愉快的決定用Flask搞定。功能是給爬蟲提供get/delete/refresh等接口,方便爬蟲直接使用。

            到了代碼模塊:

            Python中高層次的數據結構,動態類型和動態綁定,使得它非常適合于快速應用開發,也適合于作為膠水語言連接已有的軟件部件。用Python來搞這個ip代理池也很簡單,代碼分為6個模塊:

            Api:

            api接口相關代碼,目前api是由Flask實現,代碼也非常簡單??蛻舳苏埱髠鹘oFlask,Flask調用ProxyManager中的實現,包括get/delete/refresh/get_all。

            Manager:

            get/delete/refresh/get_all等接口的具體實現類,目前代理池只負責管理proxy,日后可能會有更多功能,比如代理和爬蟲的綁定,代理和賬號的綁定等等。

            DB:

            數據庫相關代碼,目前數據庫是采用SSDB。代碼用工廠模式實現,方便日后擴展其他類型數據庫。

            Schedule:

            定時任務相關代碼,現在只是實現定時去刷新代碼,并驗證可用代理,采用多進程方式。

            ProxyGetter:

            代理獲取的相關代碼,目前抓取了快代理、代理66、有代理、西刺代理、guobanjia這個五個網站的免費代理,經測試這個5個網站每天更新的可用代理只有六七十個,當然也支持自己擴展代理接口。

            Util:

            存放一些公共的模塊方法或函數,包含GetConfig:讀取配置文件config.ini的類,ConfigParse:集成重寫ConfigParser的類,使其對大小寫敏感,Singleton:實現單例,LazyProperty:實現類屬性惰性計算。

            其他文件:

            配置文件:Config.ini,數據庫配置和代理獲取接口配置,可以在GetFreeProxy中添加新的代理獲取方法,并在Config.ini中注冊即可使用。

            上面就是ip代理池的組成部分,這樣分解之后,相信大家也能夠直觀認識到代理池了。當然了,大家也可以直接用付費ip代理提取搭建。

           

          版權聲明:本文為IP海(iphai.cn)原創作品,未經許可,禁止轉載!

          Copyright © www.skldkt.com. All Rights Reserved. IP海 版權所有.
          IP海僅提供中國內IP加速服務,無法跨境聯網,用戶應遵守《服務條款》內容,嚴禁用戶使用IP海從事任何違法犯罪行為。
          ICP備案鄂ICP備19030659號-3 公安備案鄂公網安備42100302000141號 計算機軟件著作權證計算機軟件著作權證 ICP/EDI許可證ICP/EDI許可證:鄂B2-20200106

          微信掃一掃咨詢
          国产福利第一页