第七講:Python爬取網頁數據
本次將採用爬蟲獲取一些新聞數據,好比咱們要獲取新浪的一些新聞:html
一、編寫代碼,獲取新浪首頁的網頁源碼:正則表達式
運行效果:函數
咱們會看到程序輸出了新浪網頁的全部源代碼:spa
網頁源代碼很是長,咱們單純經過split()函數來切割是不現實的,因此咱們要用re正則表達式模塊:htm
當咱們發現咱們想要的東西都有一些規律的時候,咱們能夠經過正則表達式來提取:blog
好比咱們看到源代碼裏面有一個規律以下,不少新聞的先後都是.shtml" target="_blank">萬科:物流地產狂想曲</a></li>:get
因此咱們能夠經過新建一個正則表達式來提取,下面咱們對以前的代碼加入正則表達式部分:源碼
上面中的\S{1,}意思是匹配一個以上的任意非空字符it
運行後結果:class
咱們看到,上面比以前的少了不少內容。
咱們把上面的內容梳理一下發現也是有規律的:列表的每一個元素均可以經過split()切割:
因此咱們加入切割方法,採用循環從列表中抽取數據的方式進行處理:
這個時候咱們發現處理後的內容比較接近咱們想要的數據了,可是仍是有HTML樣式,因此再進一步處理。
再次對結果切割後已經符合咱們的要求了:
那麼,咱們得出的結果符合要求了,咱們要存到一個列表裏面備用: