原理很簡單,經過發送resquest請求獲取服務器的response,再使用xpath提取其中咱們須要的數據,而後保存到文件中。服務器
先看看我爬取的結果:函數
首先,須要用到的模塊有兩個:spa
•requestsorm
•lxmlxml
讓咱們把注意力放在箭頭所指的start = 0處,當start = 0時,意味着發送的是第一頁榜單的URL請求blog
豆瓣設定每頁榜單隻顯示25部電影,故共有10頁,每頁的Resquest URL也不同。 字符串
不過,每一頁的Resquest URL都有一個很明顯的規律,而這個規律幫了咱們大忙。requests
讓咱們再看一張圖:form
這是250榜單的最後一頁的URL請求,能夠看到start的值已經變爲了從第一頁的0增加到了225變量
豆瓣250榜單共有10頁,到此,規律已經很明顯了,即:
每增加一頁,start的值就增長25。
咱們在上一步獲得了規律,start 在每次請求中都 +=25
因此咱們能夠寫一 個 for 循環,在循環內發送請求,並在其中定義一個變量 count ,使它在每次循環結束都 +=25,
先用 str.format(count) 函數來把count 賦給URL字符串,再發送請求
提取數據時,我用的是 etree.xpath() 函數,在形參輸入xpath語言提取須要的數據標籤便可,而後保存。
上代碼↓