python抓取网页视频

1. 喜马拉雅音频

1-1 喜马拉雅
import requests
import json
import time
import random
import hashlib

url = 'https://www.ximalaya.com/revision/play/v1/audio?id=46103875&ptype=1'

headers = {
'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36 Edg/106.0.1370.47'
}

#服务器时间戳
severtime = requests.get('https://www.ximalaya.com/revision/time',headers=headers).text
#现在时间戳
nowtime = str(round(time.time()*1000)) #round()返回保留几位小数的值,默认为整数 //time.time()返回当前时间的时间戳//time.time()得10位数,目前时间戳为13位数

#求加密的参数
xm_sign = str(hashlib.md5('himalaya-{}'.format(severtime).encode()).hexdigest()) + '({})'.format(round(random.random()*100)) + severtime + '({})'.format(round(random.random()*100)) + nowtime
#print(xm_sign)

#更新请求头参数
headers['xm-sign'] = xm_sign

#提取及解析音频网址
resp = requests.get(url,headers=headers)
src_dic = json.loads(resp.text)
src = src_dic['data']['src']

#下载音频
with open(f'./video/卖吊票-1.m4a',mode='wb') as f:
    f.write(requests.get(src,headers=headers).content)
##  再用格式工厂 转mp3 

python抓取网页视频_第1张图片

1-2 喜马拉雅
import re
import requests
import re
import requests
import json
import time
import random
import hashlib

# 免费
url = 'https://www.ximalaya.com/revision/play/v1/audio?id=46103875&ptype=1'

# 收费的还不行 
# url = 'https://audiofreepay.ali.xmcdn.com/download/1.0.0/storages/8987-audiopay/37/8B/GKwRIMAH8cjnANYGeAIF8P8Z-aacv2-48K_preview_1231196.m4a'
# url = 'https://www.ximalaya.com/revision/play/v1/audio?id=620471242&ptype=1'

headers = {'user-agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.105 Safari/537.36'}

# json_url = 'https://www.ximalaya.com/revision/play/v1/audio?id={}&ptype=1'.format(m4a_id)
json_data = requests.get(url, headers=headers).json()# 
print(json_data)# 提取音频地址
m4a_url = json_data['data']['src']# 
print(m4a_url)# 请求音频数据
m4a_data = requests.get(url=m4a_url, headers=headers).content

new_title = '卖吊票_岳云鹏郭德纲.m4a'
print(new_title)
# 4.数据持久化(保存)
with open('video\\' + new_title, mode='wb') as f:
    f.write(m4a_data)
print('保存完成:', new_title)

	

python抓取网页视频_第2张图片

你可能感兴趣的:(python,开发语言)