本次咱們來經過翻頁爬取的方式爬取貓眼電影裏面推薦的前100名電影,並存儲到數據庫。正則表達式
一、咱們登陸貓眼,看下咱們的數據在哪裏數據庫
而後點擊今日TOP100,看下具體的網頁數據函數
最下面咱們看到底部有頁碼,並分析頁碼與地址欄的關係。字體
咱們能夠總結出如下規律:spa
後續咱們經過不斷變化地址欄就能夠實現翻頁搜索信息的效果。3d
而,咱們要獲取的影片內容有哪些?下面這些:排名、影片名稱、主演、上映時間、評分。調試
對於咱們要獲取的信息,咱們要查看源碼,看下對應的信息的通用格式是怎樣的。blog
按F12鍵,在調試模式裏面點擊小箭頭,選中對應的頁面元素就能夠看到元素的源代碼了。源碼
一、排名:it
元素格式:<i class="board-index board-index-1">1</i>
上面格式中的紅色字體是能夠改變的,好比第二名就是:<i class="board-index board-index-2">2</i>
咱們能夠用\d{1,3} 代替1-100的數字,那麼對應的正則表達式能夠寫成:
p=r'<i class="board-index board-index-\d{1,3}">\d{1,3}'
因此,咱們獲取排名的代碼以下:
最後在修改一下,把數字提取出來,用split()函數:
二、電影名稱:
有兩條,咱們只取一條就能夠了。
元素格式:<a href="/films/1203" title="霸王別姬" class="image-link"
根據上面,咱們能夠寫正則表達式爲:p2=r'<a href="/films/\d{1,}" title="\S{1,}" class="image-link"
代碼以下:
最後,咱們要修改下,只過濾電影名稱,採用split()函數
三、主演與上映時間:
四、最後是評分
最後,咱們要作的是:
一、分值合併。
二、以上各個值的組裝。
三、寫入數據庫。
四、翻頁
先寫到這裏,同窗們思考上面兩個,答案下面一講再公佈。
注:其實咱們的正則表達式更加精準的話,就不用截取那麼屢次。後續再重點講正則表達式這塊知識。