【一、項目背景】 [蜜柑計劃 - Mikan Project] :新一代的動漫下載站。是一個專門為喜歡動漫的小伙伴們打造的動漫視頻在線播放網站,為大家第一時間分享最新動漫資源,每日精選最優(yōu)質的動漫推薦。 【二、項目目標】 實現獲取動漫種子鏈接,并下載保存在文檔。 【三、涉及的庫和網站】 1、網址如下:
2、涉及的庫:**reques****ts、****lxml、**fake_useragent 3、軟件**:PyCharm** 【四、項目分析】 首先需要解決如何對下一頁的網址進行請求的問題??梢渣c擊下一頁的按鈕,觀察到網站的變化分別如下所示:
點擊下一頁時,每增加一頁Classic/()自增加1,用{}代替變換的變量,再用for循環(huán)遍歷這網址,實現多個網址請求。 【五、反爬措施】 1、獲取正常的 http請求頭,并在requests請求時設置這些常規(guī)的http請求頭。 2、使用 fake_useragent ,產生隨機的UserAgent進行訪問。 【六、項目實施】 1、我們定義一個class類繼承object,然后定義init方法繼承self,再定義一個主函數main繼承self。導入需要的庫和網址。
2、主方法(main):for循環(huán)實現多個網頁請求。
3、 隨機產生UserAgent。
4、發(fā)送請求 獲取響應, 頁面回調,方便下次請求。
5、xpath解析一級頁面數據,for循環(huán)遍歷補全網址,獲取二級頁面網址。
6、二級頁面請求 ,先找到頁面父節(jié)點,for循環(huán)遍歷,再用path獲取到種子的下載地址。補全種子鏈接地址。
7、保存在word文檔 。
8、調用方法,實現功能。
【七、效果展示】 1、運行程序,在控制臺輸入起始頁,終止頁,如下圖所示。 2、將下載成功的圖片信息顯示在控制臺,如下圖所示。 3、保存.torrent文檔。 4、如何打開種子文件?先上傳到百度云盤,如下圖所示。 5、雙擊解析下載,如下圖所示。 【八、總結】 1、不建議抓取太多數據,容易對服務器造成負載,淺嘗輒止即可。 2、本文章就python爬取Mikan Project,在下載種子的難點和重點,以及如何防止反爬,做出了相對于的解決方案。 3、介紹了如何去拼接字符串,以及列表如何進行類型的轉換。 4、歡迎大家積極嘗試,有時候看到別人實現起來很簡單,但是到自己動手實現的時候,總會有各種各樣的問題,切勿眼高手低,勤動手,才可以理解的更加深刻。 |
|
來自: 千鋒Python學堂 > 《Python基礎教程分享》