中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

python如何爬取電影天堂的最新電影

發布時間:2022-01-13 15:10:40 來源:億速云 閱讀:600 作者:小新 欄目:大數據

這篇文章主要介紹python如何爬取電影天堂的最新電影,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

1 爬取目標

本次爬取的站點選擇電影天堂,網址是: www.ydtt8.net。爬取內容是整個站點的所有電影信息,包括電影名稱,導演、主演、下載地址等。具體抓取信息如下圖所示:

python如何爬取電影天堂的最新電影

2 設計爬蟲程序

2.1 確定爬取入口

電影天堂里面的電影數目成千上萬,電影類型也是讓人眼花繚亂。我們為了保證爬取的電影信息不重復, 所以要確定一個爬取方向。目前這情況真讓人無從下手。但是,我們點擊主頁中的【最新電影】選項,跳進一個新的頁面。驀然有種柳暗花明又一村的感覺。

python如何爬取電影天堂的最新電影

由圖可知道,電影天堂有 5 個電影欄目,分別為最新電影、日韓電影、歐美電影、國內電影、綜合電影。每個欄目又有一定數量的分頁,每個分頁有 25 條電影信息。那么程序的入口可以有 5 個 url 地址。這 5 個地址分別對應每個欄目的首頁鏈接。

2.2 爬取思路

知道爬取入口,后面的工作就容易多了。我通過測試發現這幾個欄目除了頁面的 url 地址不一樣之外,其他例如提取信息的 xpath 路徑是一樣的。因此,我把 5 個欄目當做 1  個類,再該類進行遍歷爬取。

我這里“最新電影”為例說明爬取思路。
1)請求欄目的首頁來獲取到分頁的總數,以及推測出每個分頁的 url 地址;
2)將獲取到的分頁 url 存放到名為 floorQueue 隊列中;
3)從 floorQueue 中依次取出分頁 url,然后利用多線程發起請求;
4)將獲取到的電影頁面 url 存入到名為 middleQueue 的隊列;
5)從 middleQueue 中依次取出電影頁面 url,再利用多線程發起請求;
6)將請求結果使用 Xpath 解析并提取所需的電影信息;
7)將爬取到的電影信息存到名為 contentQueue 隊列中;
8)從 contentQueue 隊列中依次取出電影信息,然后存到數據庫中。

2.3 設計爬蟲架構

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

python如何爬取電影天堂的最新電影

2.4 代碼實現

主要闡述幾個重要的類的代碼

  • main 類

主要工作兩個:第一,實例化出一個dytt8Moive對象,然后開始爬取信息。第二,等爬取結束,將數據插入到數據庫中。

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

python如何爬取電影天堂的最新電影

python如何爬取電影天堂的最新電影

創建數據庫以及表,接著再把電影信息插入到數據庫的代碼如下:

python如何爬取電影天堂的最新電影

python如何爬取電影天堂的最新電影

  • TaskQueue 類

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

  • dytt8Moive 類

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

python如何爬取電影天堂的最新電影

python如何爬取電影天堂的最新電影

python如何爬取電影天堂的最新電影

python如何爬取電影天堂的最新電影

python如何爬取電影天堂的最新電影

python如何爬取電影天堂的最新電影

python如何爬取電影天堂的最新電影

python如何爬取電影天堂的最新電影

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

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

3 爬取結果

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

python如何爬取電影天堂的最新電影

以上是“python如何爬取電影天堂的最新電影”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

连山| 应城市| 始兴县| 新民市| 上饶县| 榆中县| 江山市| 井冈山市| 射阳县| 赤峰市| 德钦县| 巴东县| 洪江市| 普陀区| 察雅县| 五大连池市| 察隅县| 平远县| 达日县| 明溪县| 古浪县| 元氏县| 信丰县| 阜新| 固原市| 乌拉特后旗| 修文县| 名山县| 江达县| 仁化县| 黄梅县| 凌海市| 兰坪| 华池县| 通城县| 玉山县| 大庆市| 巴里| 斗六市| 重庆市| 石门县|