demos.py
1.66 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
import requests
import re
import json
def download_page(url, pc=True):
if pc == True:
ua = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36'
else:
ua = 'Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Mobile/15A372 Safari/604.1'
headers = {
'User-Agent': ua
}
res = requests.get(url, headers=headers)
return res
if __name__ == '__main__':
# https://v.douyin.com/JyPHShN/
url = input('输入抖音视频地址:')
# 获取真实地址
res1 = download_page(url)
patten = re.compile('/video/(.*?)/')
# https://www.iesdouyin.com/share/video/6881151874846723339/?region=CN&mid=6881152095287479053&u_code=imbie9bd&titleType=title×tamp=1602169029&app=aweme&utm_campaign=client_share&utm_medium=ios&tt_from=copy&utm_source=copy
# /vodeo/ 后面那串数字就是item_ids号 6881151874846723339 通过正则获取
item_ids = (patten.findall(res1.url))[0]
# 获取视频相关数据
res2 = download_page(f'https://www.iesdouyin.com/web/api/v2/aweme/iteminfo/?item_ids={item_ids}')
res2_text = json.loads(res2.text)
info = res2_text['item_list'][0]
old_addr = info['video']['play_addr']['url_list'][0]
new_addr = old_addr.replace('playwm', 'play')
# 通过手机UA获取无水印视频地址
res3 = download_page(new_addr, False)
new_addr = res3.url
douyin_info = {
'aweme_id': info['aweme_id'],
'title': info['desc'],
'cover': info['video']['cover']['url_list'][0],
'play_addr': new_addr
}
print(douyin_info)