初學(xué)Python,就用它爬取一點(diǎn)情話吧
老鐵們,一年一度的520就要來了,大家有沒有正在抓耳撓腮的給女朋友準(zhǔn)備禮物呢?
作為一個(gè)業(yè)余非專業(yè)程序猿(ps:自稱程序猿,哈哈),最近初學(xué)python,用它來抓取情話網(wǎng)站的100頁情話,作為給女朋友的第二個(gè)小禮物。
由于小馬達(dá)我,是自學(xué),也是初學(xué)者,忘各位大神勿噴,程序比較簡單,親測(cè)可用。
下面進(jìn)入正題:
目標(biāo):爬取指定網(wǎng)址的100頁情話

練手網(wǎng)站
準(zhǔn)備:python:3.7版本、開發(fā)工具:pycharm、瀏覽器:谷歌瀏覽器
思路:
- 通過requests+xpath來爬取網(wǎng)頁,并對(duì)信息進(jìn)行提取
- 不管網(wǎng)站有沒有反爬策略,最簡單的攜帶headers用上
- 循環(huán)寫入txt文件
- 把主要代碼寫成函數(shù)進(jìn)行封裝
幾個(gè)關(guān)鍵點(diǎn):
- 注意網(wǎng)頁的編碼格式,一般來說,可以結(jié)合response.encoding和response.headers來觀察。如果headers里面沒有Content-Type,則編碼為encoding='utf-8';如果有Content-Type,以 charset 為準(zhǔn),沒有charset,則為ISO-8859-1
- 觀察網(wǎng)頁的結(jié)構(gòu),確定如何編寫程序?qū)崿F(xiàn)翻頁,在這里網(wǎng)站比較簡單,直接把序號(hào)+1就行
- 關(guān)于用beautifulsoup還是xpath,酌情使用,在這里,我直接使用xpath定位更加方便
最終效果:
得到100頁情話,并保存到txt文件里。

主要代碼

結(jié)果輸出
后期計(jì)劃改進(jìn):
- 準(zhǔn)備把數(shù)據(jù)寫入數(shù)據(jù)庫
- 用flask框架搭建網(wǎng)站
- 準(zhǔn)備實(shí)現(xiàn)詞云效果,類似于下面這樣。

好了,文字表達(dá)能力也不強(qiáng),也不知道寫啥,主要就是分享好玩的。奧,對(duì)了,小馬達(dá),什么都喜歡研究一下,這個(gè)號(hào)不打算寫垂直領(lǐng)域,主要就是分享生活,結(jié)交朋友,當(dāng)然了,你要點(diǎn)個(gè)贊,給個(gè)關(guān)注,那我們就是更好的朋友。哈哈,記得關(guān)注哦!