最近看到一個 UP 主做的視頻,使用可視化動態圖,把目前播放量最多的 UP 主一一列出來,結果第一名是嗶哩嗶哩番劇,第一名的播放量是第二名近 10 倍,

B站的番劇數量,也是相對其他平臺比較多的,而且質量都還不錯,說實話,剛開始用嗶哩嗶哩的時候,就是為了看番劇,作為一個喜歡看番劇的 pk 哥,我決定用爬蟲爬取一下日本動漫電影 TOP100 都有哪些?網上看了一下,時光網正好有這個排行榜,而且資訊相對來說比較全,

所以我決定用爬蟲把這個榜單上 Top100 的所有電影資訊全部保存為 csv 檔案放在本地,看有沒有之前我遺漏的經典動漫電影,
以下是保存的效果,保存的列包括電影名稱、導演編劇、發行公司、更多片名、評分、首日票房、總票房,有些電影沒有評分和票房資訊的就直接顯示為空,

獲取電影ID資訊
本次爬蟲專案主要分為三個部分,第一部分我們要獲取電影的 Id資訊,因為我們需要保存的所有資訊,都和這個有關,Id從哪里獲取呢?我們打開這個榜單頁面的源代碼,源代碼中我們可以看到,id都在鏈接后面,

為了縮小范圍,我們發現這些鏈接都在 class=top_nlist 里面,我們用 beautifulsoup 庫提取屬性 class= top_nlist 所有的元素,然后用正則運算式,提取出每頁的 id資訊,

這里第 1 個頁面需要特殊處理一下,因為第 2 個頁面到第 10 個頁面后面都是直接帶的數字,第 1 個頁面直接我在后面加 -1 的話會報 404,所以這個頁面單獨拿出來提取頁面資訊,然后再把 ID 資訊全部加到空串列里面,
提取評分和票房資訊
ID 資訊獲取了,接下來我們通過 ID 資訊來獲取電影的評分和票房資訊,通過 F12 除錯我們可以看到,評分和票房資訊在 js 里面,

請求鏈接里變化的就是電影的 ID ,其他的保持不變就好,
我們對回傳資訊通過簡單的處理轉換為 Json 格式,之后我們就可以直接通過 key 值提取 value 值了,這里主要提取的資訊有:評分、首日票房和總票房,

提取其他電影詳細資訊
接下來我們需要通過 ID 資訊獲取對應電影的名稱和導演編劇等詳細資訊,這些資訊在源代碼中,可以直接通過正則運算式來提取,

用正則運算式提取資訊的前提是我們要找到資訊的規律,這樣通過正則運算式提取就又快又準,

提取了這些資訊之后,我們把它保存在 list 串列中,這樣做的目的是為了后面我們保存為 csv 檔案做準備,

保存為csv檔案
每頁的資訊獲取了之后,我們就可以把這些資訊追加保存到 csv 檔案中,每保存一部電影資訊,保存下一部電影資訊就進行追加保存,為了避免保存后的 csv 檔案打開出現亂碼,我們需要將編碼形式設定為 encoding='utf-8' 格式,

通過這三步,這個 Top100 排行榜中的所有動漫電影資訊都全部保存在本地的 csv 檔案中啊,那我們就可以更方便的瀏覽這些電影資訊,這樣我們就可以更好的追番了,本文所有的代碼資訊可在公眾號「Python知識圈」后臺回復「動漫電影」獲取,
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/143496.html
標籤:Python
上一篇:團體程式設計天梯賽-練習集 L1-009 N個數求和 C(gcc) seek for help
下一篇:Python基礎-05串列
