自從看了師傅爬了頂點全站之後,我也手癢癢的,也想爬一個比較牛逼的小說網看看,於是選了宜搜這個網站,好了,馬上開幹,這次用的是mogodb數據庫,感覺mysql太麻煩了下圖是我選擇宜搜裏面遍歷的網站
先看代碼框架圖
第一個,肯定先提取排行榜裏面每個類別的鏈接啊,然後進入鏈接進行爬取,先看all_theme文件
看看運行結果,這是書籍類目的
這是構造出的每一個類目裏面所有的頁數鏈接,也是我們爬蟲的入口,一共5000多頁
接下來是封裝的數據庫操作,因爲用到了多進程以及多線程每個進程,他們需要知道那些URL爬取過了、哪些URL需要爬取!我們來給每個URL設置兩種狀態:
- outstanding:等待爬取的URL
- complete:爬取完成的URL
- processing:正在進行的URL。
嗯!當一個所有初始的URL狀態都爲outstanding;當開始爬取的時候狀態改爲:processing;爬取完成狀態改爲:complete;失敗的URL重置狀態爲:outstanding。
爲了能夠處理URL進程被終止的情況、我們設置一個計時參數,當超過這個值時;我們則將狀態重置爲outstanding。
接下來是爬蟲主程序
讓我們來看看結果吧
裏面因爲很多都是重複的,所有去重之後只有十幾萬本,好失望......
作者:蝸牛仔