當前位置:
首頁 > 最新 > 如何抓取貓眼電影Top100的影片信息?

如何抓取貓眼電影Top100的影片信息?

對於喜好電影的同學來說,貓眼電影和豆瓣電影應該是比較熟悉的電影評分的平台。但是,如何通過Python抓取貓眼電影評分前100的信息呢?

URL獲取

我們還是先分析URL。打開貓眼電影TOP100榜,可以看到如下頁面:

URL為:http://maoyan.com/board/4。但是,這一頁只有排名前10的電影,如何獲取下頁的URL呢?

點擊下方的下一頁,可以跳轉到第二頁:

URL為:http://maoyan.com/board/4?offset=10。由此,可以猜測offset的取值範圍為0,10,20,...,90。由此,我們可以構造出10個頁面的URL:

獲取到頁面後,下一步就是對頁面進行解析了。

頁面解析

下面看一下具體的頁面,在查看網頁源碼可以看到具體的內容。以排名第一的霸王別姬為例,HTML碼如下:

本文是通過正則表達式來獲取影片的信息,所以先要生成正則表達式的Pattern。我們想要提前的信息有:排名,影片名稱,演員,上映時間,評分。

匹配的表達式的寫法很簡單,需要找到一些關鍵的標籤,然後在需要的信息處加入(.*?),若匹配到表達式,就會返回相應的項。

另外,還需要對響應的欄位進行截取,獲取真正需要的信息。具體代碼如下:

數據存儲與保存

接下來需要將抓取的數據進行保存了,可以保存到CSV文件,文本文件,關係型資料庫MySQL或者是非關係型資料庫MongoDB。這裡以存儲文本文件為例,打開文件的方式為a即追加寫文件。

這裡要注意的是,因為寫入的內容包括漢字,所以需要設置系統編碼,設置為UTF-8,如下代碼前三行所示:

偽裝成瀏覽器

對於貓眼電影,有反爬蟲策略,如果不設置header,將無法獲取到HTML頁面,所以,在進行抓取頁面的時候,需要設置header:

文件數據

抓取好的文件的數據如下:

完整代碼

參考:

看完本文有收穫?請轉發分享給更多人

關注「Python那些事」,做全棧開發工程師

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 Python那些事 的精彩文章:

TAG:Python那些事 |