前幾節課我們通過requests庫進行了簡單的網頁採集和百度翻譯的操作,這一節課我們繼續進行案例的講解--python爬蟲實例教程之豆瓣電影排行榜,這次的案例與上節課案例相似,同樣會涉及到JSON模塊,異步加載以及局部加載方式等內容,接下來我們一一講解操作方法。
1.主要獲取的內容
我們主要通過豆瓣電影排行榜(https://movie.douban.com/typerank?type_name=%E5%96%9C%E5%89%A7&type=24&interval_id=100:90&action=)
這個網站獲取到影片的相關信息,如鏈接、片名、評分等內容(如下)
2.分析解題思路
首先我們打開我們要爬取的網址,我們會發現通過拖動鼠標滑塊,電影是不斷被加載出來的,並且網址不發生變化,因此我們是不是能立刻聯想到上節課做的案例百度搜索有異曲同工之處--ajax異步,因此我們獲取網址信息、headers、關鍵詞等信息,不能再通過all查看,而是選擇xpath查看(如下圖)
3.書寫代碼
第一步,導入requests模塊
第二步,獲取url、參數、headers等信息
上面我們已經分析了,該網頁採用ajax異步,因此我們通過xpath獲取url、參數、headers信息(如下)
我們從上圖中也了解到該網頁的請求類型為get,響應類型方式為JSON,因此代碼如下:
需要注意的是:
(1)網址中去掉了「limit=1」因為在參數中已經包含了「limit」
(2)參數中「limit」對應的值改為了100,原因是「limit」代表着電影的篇數,我們不只想獲取1部電影的信息,我們想獲取100部,當然數字可根據需要更改