導航:首頁 > 電影資訊 > 爬蟲如何獲取豆瓣電影t圖片

爬蟲如何獲取豆瓣電影t圖片

發布時間:2025-05-24 13:20:48

Ⅰ 爬蟲實戰二:爬取電影天堂的最新電影

前兩篇文章講述了 requests 和 xpath 的使用方法。為了實踐所學,本文將介紹如何使用這兩個工具進行實戰。

1 爬取目標

本次目標為爬取電影天堂(網址:ydtt8.net)站點的所有電影信息,包括電影名稱、導演、主演、下載地址等。具體抓取信息如圖所示:

2 設計爬蟲程序

2.1 確定爬取入口

電影天堂電影種類繁多,數量龐大,為了確保爬取的電影信息不重復,我們需要確定一個爬取方向。點擊主頁中的【最新電影】選項後,我們會進入一個新頁面,這時會有一種豁然開朗的感覺。

如圖所示,電影天堂有5個電影欄目,分別為最新電影、日韓電影、歐美電影、國內電影、綜合電影。每個欄目都有一定數量的分頁,每個分頁包含25條電影信息。因此,程序的入口可以有5個URL地址,分別對應每個欄目的首頁鏈接。

2.2 爬取思路

了解爬取入口後,後續工作就變得容易了。通過測試,我發現這幾個欄目除了頁面的URL地址不同之外,其他如提取信息的xpath路徑是一樣的。因此,我將5個欄目視為一個類,並進行遍歷爬取。

以「最新電影」為例,說明爬取思路:1)請求欄目的首頁,獲取分頁總數和每個分頁的URL地址;2)將獲取到的分頁URL存放到名為floorQueue的隊列中;3)依次從floorQueue中取出分頁URL,利用多線程發起請求;4)將獲取到的電影頁面URL存入名為middleQueue的隊列;5)依次從middleQueue中取出電影頁面URL,再利用多線程發起請求;6)使用xpath解析請求結果並提取所需的電影信息;7)將爬取到的電影信息存到名為contentQueue的隊列中;8)依次從contentQueue中取出電影信息,然後存入資料庫中。

2.3 設計爬蟲架構

根據爬取思路,我設計出爬蟲架構,如圖所示:

2.4 代碼實現

主要闡述幾個重要的類的代碼。主要工作有兩個:第一,實例化一個dytt8Movie對象,然後開始爬取信息。第二,等爬取結束,將數據插入到資料庫中。

處理爬蟲的邏輯代碼如下:

創建資料庫以及表,再將電影信息插入到資料庫的代碼如下:

維護floorQueue、middleQueue、contentQueue三個隊列的管理類。選擇隊列的數據結構是因為爬蟲程序需要用到多線程,隊列能夠保證線程安全。

dytt8Movie類是本程序的主心骨。程序最初的爬取目標是5個電影欄目,但目前只實現了爬取最新欄目。如果你想爬取全部欄目電影,只需對dytt8Movie稍作修改即可。

getMovieInformations方法主要負責解析電影信息節點並將其封裝成字典。因為電影天堂的電影詳情頁面排版參差不齊,所以單單一條內容提取表達式、海報和影片截圖表達式、下載地址表達式遠遠無法滿足。

選擇字典類型作為存儲電影信息的數據結構,是在爬坑之後決定的。這也是該站點另一個坑人的地方。電影詳情頁中有些內容節點是沒有的,例如類型、豆瓣評分,所以無法使用列表按順序保存。

3 爬取結果

這里展示了自己爬取最新欄目中4000多條數據的前部分數據。

最後附上源代碼,下載地址:源代碼地址

閱讀全文

與爬蟲如何獲取豆瓣電影t圖片相關的資料

熱點內容
胖鳥電影網里電影怎麼觀看 瀏覽:102
陳冠希的著名電影有哪些 瀏覽:176
最好看的女主電影有哪些 瀏覽:671
65個小時是多久來自哪部電影 瀏覽:4
好看的古希臘戰斗的電影 瀏覽:643
迅雷下來的電影怎麼傳到百度雲盤上 瀏覽:428
電影卡剩點錢怎麼用 瀏覽:945
北京國際電影節電影多少錢 瀏覽:60
免費午夜電影紅濤閣 瀏覽:132
關於英雄的電影有哪些 瀏覽:300
岳陽匯澤電影城怎麼樣 瀏覽:832
秋霞免費影電影院 瀏覽:506
寫綿陽的電影有哪些 瀏覽:403
多久可以約女生看電影 瀏覽:43
手機愛奇藝怎麼同步看電影 瀏覽:9
拍大師如何剪輯電影 瀏覽:964
像007這種電影還有哪些 瀏覽:693
感人好看的兒童電影 瀏覽:420
幾十g的藍光電影怎麼下載 瀏覽:470
韓國好看懸疑動作電影排行榜 瀏覽:358