用Python爬下十幾萬本小說,再也不會鬧書荒!

自從看了師傅爬了頂點全站之後,我也手癢癢的,也想爬一個比較牛逼的小說網看看,於是選了宜搜這個網站,好了,馬上開幹,這次用的是mogodb數據庫,感覺mysql太麻煩了下圖是我選擇宜搜裏面遍歷的網站

先看代碼框架圖

第一個,肯定先提取排行榜裏面每個類別的鏈接啊,然後進入鏈接進行爬取,先看all_theme文件

看看運行結果,這是書籍類目的

這是構造出的每一個類目裏面所有的頁數鏈接,也是我們爬蟲的入口,一共5000多頁

接下來是封裝的數據庫操作,因爲用到了多進程以及多線程每個進程,他們需要知道那些URL爬取過了、哪些URL需要爬取!我們來給每個URL設置兩種狀態:

  • outstanding:等待爬取的URL
  • complete:爬取完成的URL
  • processing:正在進行的URL。

嗯!當一個所有初始的URL狀態都爲outstanding;當開始爬取的時候狀態改爲:processing;爬取完成狀態改爲:complete;失敗的URL重置狀態爲:outstanding。

爲了能夠處理URL進程被終止的情況、我們設置一個計時參數,當超過這個值時;我們則將狀態重置爲outstanding。

接下來是爬蟲主程序

讓我們來看看結果吧

裏面因爲很多都是重複的,所有去重之後只有十幾萬本,好失望......

作者:蝸牛仔

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章