Skip to content
  • P
    Projects
  • G
    Groups
  • S
    Snippets
  • Help

bellcode / lesson2-2_DIY1

  • This project
    • Loading...
  • Sign in
Go to a project
  • Project
  • Repository
  • Issues 0
  • Merge Requests 0
  • Pipelines
  • Wiki
  • Snippets
  • Members
  • Activity
  • Graph
  • Charts
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
  • Files
  • Commits
  • Branches
  • Tags
  • Contributors
  • Graph
  • Compare
  • Charts
Switch branch/tag
  • lesson2-2_DIY1
  • demos.py
Find file
BlameHistoryPermalink
  • BellCodeEditor's avatar
    auto save · b1d823a1
    BellCodeEditor committed 4 years ago
    b1d823a1
demos.py 1.66 KB
Edit
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)