Python爬取表情包

溫馨提示:閱讀文本大概需要4分鐘。


Python爬取表情包


疫情期間,沒有復工,親朋好友各個群聊中一言不合就鬥圖,想要予以反擊無奈沒圖可鬥,因此,我想能不能用爬蟲抓取網頁,獲得表情包,經過自己一天的研究,終於能實現這個功能,下面大家看我演(zhuang)示(bi)。

前期準備

1.我主要用到的是百度貼吧中的“表情包吧”,訪問地址是:http://tieba.baidu.com/p/5059180075

2.進去後,按F12打開開發者調試,抓取一張表情圖片,會發現其實就是一個標籤:<imgsrc>


Python爬取表情包

3.通過對爬蟲工作原理的瞭解,知道了需要做的就是抓取頁面的所有圖片的src資源路徑:https://imgsa.baidu.com/forum/w%3D580/sign=c72193ed33292df597c3ac1d8c335ce2/34f9a451f3deb48fdf9bf71cf91f3a292cf57801.jpg

4.關於爬蟲,雖然很有趣,但是操作起來並不容易,尤其是需要運用正則表達式知識,可以說一個爬蟲的成功與否,正則表達式起了至關重要的作用。

首先運用正則表達式把頁面所有標籤篩選出來,那在html文件裡匹配標籤的正則表達式該怎麼寫呢?

可以這樣考慮:同一個圖片的同類型img標籤,按正常的寫法<imgclass>

對於固定部分保持不變,src部分的匹配表達式可以這樣寫:([^”]*\\.jpg),解釋一下這段正則表達式,其中[]表示的是或,‘’值的是空字符,^指的是取反,所以[^‘’]指的是生成的字符類包含除了‘’的所有字符集合。*指匹配前面的[^”]0次或多次。此外還用到了()進行了分組。

最後,對於width和height部分,正則表達式:.*?

代碼部分

Python爬取表情包

運用結果


Python爬取表情包

看到這麼多表情包,真香!媽媽再也不用擔心我和你們鬥圖了!


Python爬取表情包

感興趣的同學,私信回覆「表情包」即可獲得源碼,大家抓緊試試吧!

"/<imgclass>


分享到:


相關文章: