導航:首頁 > 電影資訊 > 爬蟲如何獲取豆瓣電影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圖片相關的資料

熱點內容
他寧願在家看電視也不去看電影用英語怎麼說 瀏覽:938
午夜電影合集1000免費觀看集 瀏覽:270
孫儷演過的電視劇和電影有哪些 瀏覽:934
剛剛看完電影的英文怎麼寫 瀏覽:483
怎麼不能從應用程序里傳電影了 瀏覽:153
黃飛鴻之武神林世榮電影免費觀看 瀏覽:122
韓國最近幾年好看的電影 瀏覽:194
守望先鋒電影免費版 瀏覽:65
世界大戰電影免費觀看科幻 瀏覽:701
八百電影多少小時 瀏覽:592
怎麼確定優酷獨播電影 瀏覽:976
破局2電影在線觀看免費西瓜 瀏覽:588
二戰德國跟蘇聯那部電影好看 瀏覽:629
30g相當多少電影 瀏覽:494
中國抗日相關的電影有哪些 瀏覽:758
中國電影女生宿舍免費收看 瀏覽:228
有關老虎的好看電影 瀏覽:965
貓眼電影院八佰多少一張 瀏覽:401
有哪些外國戰爭電影 瀏覽:722
電影手機怎麼惡心崔永元 瀏覽:381