Python爬蟲學(xué)習(xí):爬取某音小姐姐視頻!
前言
文的文字及圖片來源于網(wǎng)絡(luò),僅供學(xué)習(xí)、交流使用,不具有任何商業(yè)用途,版權(quán)歸原作者所有,如有問題請及時聯(lián)系我們以作處理。

前幾年,創(chuàng)造101著實(shí)火了一把,問我pick哪位小姐姐,當(dāng)然是唱歌老跑調(diào),跳舞數(shù)拍子的楊超越了。其實(shí)在看創(chuàng)造101之前,就已經(jīng)在抖音上關(guān)注了她,今天就來爬爬她的抖音視頻(楊超越的抖音已經(jīng)沒有更新了),你的樣子我都有~

本文主要講解:
抖音視頻爬蟲
視頻下載
PS:雖然很多網(wǎng)友罵她沒實(shí)力,但別人運(yùn)氣是真的好~
抖音視頻爬蟲
這里依舊是通過fiddler抓包,現(xiàn)在的抖音有加密算法,之前網(wǎng)上的大部分代碼都不能用了,我們先看看有哪些加密字段。
https://aweme.snssdk.com/aweme/v1/aweme/post/?iid=40337863888&device_id=35102252294&os_api=18&app_name=aweme&channel=App%20Store&idfa=11926ED5-C282-4BBC-AF01-0E8C18120647&device_platform=iphone&build_number=23101&vid=177A5A79-D6F6-4A03-9352-57C0681CDDDC&openudid=1ee725d39e05794bcdc14537f8c1f4220c7d6fd5&device_type=iPhone8,1&app_version=2.3.1&version_code=2.3.1&os_version=11.4.1&screen_width=750&aid=1128&ac=WIFI&count=21&max_cursor=0&min_cursor=0&user_id=58554069260&mas=01bf537030d65155897d6fd1d7c97862dbca9722fea8c96d2b68de&as=a1858817de104b87435065&ts=1534297870
這里主要是mas和as參數(shù)不知道咋構(gòu)造,這里因?yàn)橹皇桥酪粋€用戶的數(shù)據(jù),所以把整個url都copy到txt中,然后請求獲取數(shù)據(jù)。
import requests
import json
f = open('2.txt','w+',encoding='utf-8')
headers = {
'Host': 'api.amemv.com',
'Accept': '*/*',
'Cookie': 'install_id=40337863888; login_flag=d6f29ec905af4bf1101199aa942c466f; odin_tt=a1e12dc3e4b92de77cccf6be1717377188f8aa7582f703c1391c8dc7d4a0df1b166119681af4277bd2cdc8aeb56000a7; sessionid=718df70f4e4964723cd1c8337c367b45; sid_guard=718df70f4e4964723cd1c8337c367b45%7C1534207148%7C5184000%7CSat%2C+13-Oct-2018+00%3A39%3A08+GMT; sid_tt=718df70f4e4964723cd1c8337c367b45; ttreq=1$ad10f98ec66ad6df5b86a7b1a613c77bb674236d; uid_tt=765536856bdc4f0f299b85dbc7338982',
'User-Agent': 'Aweme/2.3.1 (iPhone; iOS 11.4.1; Scale/2.00)',
'Accept-Language': 'zh-Hans-CN;q=1',
'Accept-Encoding': 'br, gzip, deflate',
'Connection': 'keep-alive'
}
def get_info(url):
res = requests.get(url,headers=headers)
json_data = json.loads(res.text)
datas = json_data['aweme_list']
for data in datas:
desc = data['desc']
download_url = data['video']['play_addr']['url_list'][0]
print(desc,download_url)
f.write(desc+','+download_url+'\n')
if __name__ == '__main__':
fp = open('1.txt', 'r')
for line in fp.readlines():
get_info(line.strip())
視頻下載
在網(wǎng)上看說,這個鏈接只有10多分鐘的有效期(沒有驗(yàn)證),所以爬蟲先把視頻鏈接先保存下來,然后再同一下載。
import requests
def download_url(desc,url):
global i
res = requests.get(url)
if len(desc) == 0:
desc = str(i)
f = open('視頻/'+desc+'.mp4','wb')
f.write(res.content)
i = i + 1
i = 1
fp = open('2.txt','r', encoding='utf-8')
for line in fp.readlines():
desc = line.split(',')[0]
url = line.split(',')[1].strip('\n')
print(url)
download_url(desc,url)

最后,祝大家也都能心想事成~


搜索下方加老師微信
老師微信號:XTUOL1988【切記備注:學(xué)習(xí)Python】
領(lǐng)取Python web開發(fā),Python爬蟲,Python數(shù)據(jù)分析,人工智能等精品學(xué)習(xí)課程。帶你從零基礎(chǔ)系統(tǒng)性的學(xué)好Python!
*聲明:本文于網(wǎng)絡(luò)整理,版權(quán)歸原作者所有,如來源信息有誤或侵犯權(quán)益,請聯(lián)系我們刪除或授權(quán)


