導航:首頁 > 編程語言 > github上的python爬蟲

github上的python爬蟲

發布時間:2024-10-19 17:46:04

1. python爬取大量數據(百萬級)

當用python爬取大量網頁獲取想要的數據時,最重要的問題是爬蟲中斷問題,python這種腳本語言,一中斷

進程就會退出,怎麼在中斷後繼續上次爬取的任務就至關重要了。這里就重點剖析這個中斷問題。

第一個問題: 簡單點的用動態代理池就能解決,在爬取大量數據的時候,為了速度不受影響,建議使用一些緩

存的中間件將有效的代理 ip 緩存起來,並定時更新。這里推薦 github 這個倉庫

https://github.com/jhao104/proxy_pool , 它會做ip有效性驗證並將 ip 放入 redis ,不過實現過於復雜

了,還用到了 db ,個人覺得最好自己修改一下。困難點的就是它會使用別的請求來進行判斷當前的ip是否

是爬蟲,當我們過於聚焦我們的爬蟲請求而忽略了其他的請求時,可能就會被伺服器判定為爬蟲,進而這個ip

會被列入黑名單,而且你換了ip一樣也會卡死在這里。這種方式呢,簡單點就用 selenium + chrome 一個一個

去爬,不過速度太慢了。還是自己去分析吧,也不會過復雜的。

第二個問題: 網路連接超時是大概率會遇到的問題,有可能是在爬取的時候本地網路波動,也有可能是爬

取的服務端對ip做了限制,在爬取到了一定量級的時候做一些延遲的操作,使得一些通用的 http 庫超時

urllib )。不過如果是服務端動的手腳一般延遲不會太高,我們只需要人為的設置一個高一點的

timeout 即可(30 秒),最好在爬取開始的時候就對我們要用的爬取庫進行一層封裝,通用起來才好改

動。

第三個問題: 在解析大量靜態頁面的時候,有些靜態頁面的解析規則不一樣,所以我們就必須得做好斷點

續爬的准備了( PS : 如果簡單的忽略錯誤可能會導致大量數據的丟失,這就不明智了)。那麼在調試的過

程中斷點續爬有個解決方案,就是生產者和消費者分離,生產者就是產生待爬 url 的爬蟲,消費者就是爬取

最終數據的爬蟲。最終解析數據就是消費者爬蟲了。他們通過消息中間件連接,生產者往消息中間件發送待

爬取的目標信息,消費者從裡面取就行了,還間接的實現了個分布式爬取功能。由於現在的消費中間件都有

ack 機制,一個消費者爬取鏈接失敗會導致消息消費失敗,進而分配給其他消費者消費。所以消息丟失的

概率極低。不過這里還有個 tips , 消費者的消費超時時間不能太長,會導致消息釋放不及時。還有要開啟

消息中間價的數據持久化功能,不然消息產生過多而消費不及時會撐爆機器內存。那樣就得不償失了。

第四個問題: 這種情況只能 try except catch 住了,不好解決,如果單獨分析的話會耗費點時間。但在

大部分數據 (99%) 都正常的情況下就這條不正常拋棄就行了。主要有了第三個問題的解決方案再出現這

種偶爾中斷的問就方便多了。

希望能幫到各位。

2. 如何入門 python 爬蟲

如何入門 python 爬蟲
先自己答一個,期待牛人的回答。

自己學Python不久,列舉自己做過的和知道的。

1. Python做爬蟲很方便,有現成的庫。 我在學習python的過程中也遇到過一個非常簡單的例子,代碼:python/primer/20/Cralwer.py at master · xxg1413/python · GitHub 。好像有開源的項目叫什麼supercrawler,具體可以看看。

2.Python做游戲。Pygame還是不錯的,但只適合做小游戲。用Pygame寫個植物大戰僵屍還是可以的。推薦教程 用Python和Pygame寫游戲。Python在游戲伺服器方面也有應用。EVE這種游戲都大量用Python。

3.Python作為黑客第一語言,在黑客領域的應用就不多說了。

4.Python做網站,有幾個web框架 WebFrameworks。 用得最多的是Django。

5......各方面都有,什麼推薦系統,都是用python,在此就不一一列舉了。

3. Python漫畫爬蟲兩彈

其實從接觸python到現在已經快大半年了,中間看過不少的視頻,也跟著別人的教程寫過不少東西,但是到現在還感覺沒有入門。其實中間也明白是為什麼,就好比小學生上課一樣,上課認真聽,認真做筆記,可是下了課之後就從來不看筆記,也從來不寫作業。上課一聽就懂,自己一寫啥都不會,我相信很多人跟我現在是一樣的感覺,所以現在創建這個作業集,一來是想鞭策自己真真正正的寫點東西,二來也是希望廣大的讀者老師能夠給我批改批改作業,大家相互學習共同進步。

好了,現在開始進入正題。

但是我在這里還是遇到了一個小問題。比如說

上一步呢我們獲取了所有漫畫的url保存在了一個list當中,現在我們挨個請求comic_list中的url。
通過觀察網頁我們發現我們可以從網頁上直接看到漫畫一共有多少頁(page_num),也就是多少張圖片。
(上一章下一章點開之後會發現跳到了另外一部漫畫,所有我們不用在意,這里的一部漫畫很短)

正則是用來提取數字。

然後我們一頁一頁的點擊觀察url的變化會發現除了第一頁的url就是漫畫的url外,其他從第二頁一直到最後的url都是有規律的

找到規律這就簡單了,跟先前構造漫畫url差不多。我們構造構造除了第一頁外的其他頁數的url

保存漫畫分兩步,首先是創建文件夾,其次是保存。

打開風之動漫拉到最下面我們可以看到在網站的最下面有一個 網站地圖

獲取漫畫每一話的標題和對應的url,保存到字典 comic_chapter_url_dict

最難的部分來了。
首先 通過F12 我們可以看到圖片的鏈接在一個 id="mhpic" 的img標簽中

最後希望能夠幫助那些比我還小白的小白,也希望各位大神看過之後能夠指點一二,不勝感激。
兩個爬蟲的 GitHub地址

4. 最常用Python開源框架有哪些

django
flask等等
建議先把django學會,慢慢來,舉一反三。前期比較困難。

閱讀全文

與github上的python爬蟲相關的資料

熱點內容
小程序社區源碼 瀏覽:666
單片機程序復制hex 瀏覽:552
如何用巧影製作加密視頻 瀏覽:327
恆子奶奶解壓視頻 瀏覽:856
天正cad命令行 瀏覽:805
stc單片機用什麼編譯 瀏覽:998
php代碼對比工具 瀏覽:5
手機重啟後無命令怎麼辦 瀏覽:65
算術編碼壓縮有什麼用 瀏覽:48
閑話編程第一季 瀏覽:527
哪個app開店不用營業執照 瀏覽:684
寧波單片機銷售 瀏覽:31
程序員技術門檻降低 瀏覽:131
linux文件忙 瀏覽:836
android手機設置代理 瀏覽:661
開發動態天氣預報網源碼 瀏覽:916
pdf範文 瀏覽:535
手機怎麼獲取海外伺服器地址 瀏覽:318
最近哪個app加油優惠大 瀏覽:49
現在出租單間用哪個app 瀏覽:838