[toc] # 一、爬取目標 您好,我是[@馬哥python說](https://www.zhihu.com/people/13273183132),一名10年程式猿。 本次爬取的目標是:[抖音熱榜](https://www.douyin.com/hot)  AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.4 Safari/605.1.15',
'Accept-Language': 'zh-CN,zh-Hans;q=0.9',
'Referer': 'https://www.douyin.com/hot',
'Connection': 'keep-alive'
}
不知如何獲取Cookie?參考下圖:
向目標地址發送請求(帶上請求頭),並用json格式接收返回數據:
# 發送請求
r = requests.get(url, headers=h1)
# 用json接收請求數據
json_data = r.json()
定義一些空列表,用於存儲數據:
position_list = [] # 熱榜排名
title_list = [] # 熱榜標題
time_list = [] # 熱榜時間
hot_value_list = [] # 熱度值
label_list = [] # 熱榜標簽
以“熱榜標題”為例,解析數據:
for data in data_list:
# 熱榜標題
title = data['word']
print('熱榜標題:', position, title)
title_list.append(title)
其他欄位同理,不再贅述。
最後,把解析到的數據,存儲到Dataframe中,並保存到csv文件里:
# 拼裝爬取到的數據為DataFrame
df = pd.DataFrame(
{
'熱榜排名': position_list,
'熱榜標題': title_list,
'熱榜時間': time_list,
'熱度值': hot_value_list,
'熱榜標簽': label_list,
}
)
# 保存結果到csv文件
df.to_csv('抖音熱榜.csv', index=False, encoding='utf_8_sig')
這裡需要註意的是,to_csv要加上encoding='utf_8_sig'參數,防止保存到csv文件產生亂碼數據。
查看部分爬取結果:
共51條數據(含1條置頂熱搜),對應熱榜TOP50排名。
每條數據含5個欄位:熱榜排名,熱榜標題,熱榜時間,熱度值,熱榜標簽。。
三、同步講解視頻
3.1 代碼演示視頻
代碼演示: 【Python爬蟲演示】用Python爬抖音熱榜數據
四、獲取完整源碼
get完整源碼:【爬蟲案例】用Python爬取抖音熱榜數據!
我是@馬哥python說 ,持續分享python源碼乾貨中!