-
2017年4月20日 關(guān)于童鞋抓取簡書文章閱讀和評論的問題(喜歡也是一樣的)!
童鞋們發(fā)現(xiàn)寫的xpath爬取不到,有的時候不要懷疑自己寫錯了(檢查一次代碼沒寫錯,那就是沒寫錯)。我們這時候去看網(wǎng)頁源代碼,會發(fā)現(xiàn)這些字段的數(shù)據(jù)在script標(biāo)簽中,算是異步加載了,我們這里考慮正則來抓取。
- 但童鞋不會正則啊,那這次簡單入下門
1.我們先學(xué)(.?)的用法,例如羅羅攀這個文本信息,我可以寫為羅(.?)攀,這樣就能提取羅這個文本。類似的,評論量我可以通過
'"comments_count":(.*?),'
來提取數(shù)字信息。
2.re模塊使Python語言擁有全部的正則表達式功能。findall函數(shù)匹配所有符合規(guī)律的內(nèi)容,并以列表的形式返回結(jié)果,舉個栗子
import re
text = re.findall('羅(.*?)攀','羅羅攀')[0] #第一個參數(shù)為正則表達式,第二個為文本信息
print(text)
#result 羅
所以爬取評論量可寫為:
comment = re.findall('"comments_count":(.*?),',html.text,re.S)[0]
#re.S表示換行了也可以繼續(xù)匹配
正則表達式常用符號有很多,大家可在網(wǎng)上找到,這里給大家一個網(wǎng)址:正則表達式學(xué)習(xí)