【爬蟲(chóng)案例】用Python爬取抖音熱榜數(shù)據(jù)!
一、爬取目標(biāo)
您好,我是@馬哥python說(shuō),一名10年程序猿。
本次爬取的目標(biāo)是【抖音熱榜】:https://www.douyin.com/hot

共爬取到50條數(shù)據(jù),對(duì)應(yīng)TOP50熱榜。
含5個(gè)字段,分別是:熱榜排名,熱榜標(biāo)題,熱榜時(shí)間,熱度值,熱榜標(biāo)簽。
用Chrome瀏覽器,右鍵打開(kāi)開(kāi)發(fā)者模式,選擇:網(wǎng)絡(luò)->XHR這個(gè)選項(xiàng),重新刷新一下頁(yè)面。
操作過(guò)程,如下圖所示:

成功找到了50條熱榜數(shù)據(jù)。
下面,開(kāi)始編碼爬蟲(chóng)代碼。
二、編寫(xiě)爬蟲(chóng)代碼
首先,導(dǎo)入需要用到的庫(kù):
定義一個(gè)請(qǐng)求地址,即上圖中的目標(biāo)鏈接地址:
定義一個(gè)請(qǐng)求頭,從開(kāi)發(fā)者模式中的Headers->Request Headers中復(fù)制下來(lái):
不知如何獲取Cookie?參考下圖:

向目標(biāo)地址發(fā)送請(qǐng)求(帶上請(qǐng)求頭),并用json格式接收返回?cái)?shù)據(jù):
定義一些空列表,用于存儲(chǔ)數(shù)據(jù):
以“熱榜標(biāo)題”為例,解析數(shù)據(jù):
其他字段同理,不再贅述。
最后,把解析到的數(shù)據(jù),存儲(chǔ)到Dataframe中,并保存到csv文件里:
這里需要注意的是,to_csv要加上encoding='utf_8_sig'參數(shù),防止保存到csv文件產(chǎn)生亂碼數(shù)據(jù)。
查看部分爬取結(jié)果:

共51條數(shù)據(jù)(含1條置頂熱搜),對(duì)應(yīng)熱榜TOP50排名。
每條數(shù)據(jù)含5個(gè)字段:熱榜排名,熱榜標(biāo)題,熱榜時(shí)間,熱度值,熱榜標(biāo)簽。
三、同步講解視頻
3.1 代碼演示視頻
代碼演示:?

四、獲取完整源碼
愛(ài)學(xué)習(xí)的小伙伴,本次分析過(guò)程的完整python源碼及結(jié)果數(shù)據(jù),我已打包好,并上傳至我的微信公眾號(hào)"老男孩的平凡之路",后臺(tái)回復(fù)"爬抖音熱榜"即可獲?。?/p>

我是@馬哥python說(shuō) ,持續(xù)分享python源碼干貨中!