尝试给本文制作了一个视频版
以下是文字版本
之前分享过 下载必应壁纸,通过API直接获取
至于小伙伴们想要这个封图,我也没有。
不过继续带来一波靓丽壁纸,而且是动态的,我的桌面壁纸又换了:
每天换着花样欣赏一波波动态壁纸
桌面立刻拥有了高颜值,简直跟刷美女短视频一样啊。
对的,这些动态壁纸就是短视频!
别问我怎么知道的,
启动mitmweb, 下图的share_url就是我桌面上那个动态壁纸,在浏览器中打开就是短视频页面
所谓的动态壁纸不过是用户上传的好看的短视频!某音的产品MM为你精心挑选
获取下载链接
这些壁纸(短视频)的MP4地址怎么获取呢?
很简单,都不用python去模拟请求了。
下载某音windows版本进行安装,
命令行启动mitmweb,点击下图红框内的五角星进入动态壁纸页面
mitmproxy会出现https://www.douyin.com/aweme/v1/web/wallpaper/
开头的链接,选好它然后点击“Download”按钮,会下载一个“content.data”的文件,里面包含动态壁纸的MP4下载地址!
我们可以用python来处理它,然后去重,放入列表中
import json
url_list = []
url_dict = {}
with open('content.data', 'r',encoding='utf-8') as f:
x = json.load(f)
for i in x['aweme_list']:
#去掉特殊的
if 'anchor_info' in i:
continue
else:
for i in i['video']['bit_rate']:
#url_list有3个url,但视频内容相同,取最后一个
url = i['play_addr']['url_list'][2]
#video_id相同的是同一个视频,取出video_id,用字典去重
a = url.split('video_id=')[1].split('&line=')[0]
print(a)
url_dict[a] = url
#去重后的视频添加到列表中
for k,v in url_dict.items():
url_list.append(v)
print(len(url_list))
print(url_list)
输出得到前18个壁纸视频的下载链接,而且顺序跟某音上看到的一模一样
['https://www.douyin.com/aweme/v1/play/?video_id=v0d00fg10000cagm35rc77u3k4nb0430&line=0&file_id=fec3f8eeb45e48a18f30dfd96922f659&sign=4450c5609c69d0a5c1100e6801cf25dd&is_play_url=1&source=PackSourceEnum_AWEME_DETAIL', ...]
下载壁纸短视频
import os
import requests
from tqdm import tqdm
VIDEO_PATH = r'videos'
def download(url,fname):
# 用流stream的方式获取url的数据
resp = requests.get(url, stream=True,verify=False)
total = int(resp.headers.get('content-length', 0))
with open(fname, 'wb') as file, tqdm(
desc=fname,
total=total,
unit='iB',
unit_scale=True,
unit_divisor=1024,
) as bar:
for data in resp.iter_content(chunk_size=1024):
size = file.write(data)
bar.update(size)
if __name__ == "__main__":
url_list = ['https://www.douyin.com/aweme/v1/play/?video_id=v0d00fg10000cagm35rc77u3k4nb0430&line=0&file_id=fec3f8eeb45e48a18f30dfd96922f659&sign=4450c5609c69d0a5c1100e6801cf25dd&is_play_url=1&source=PackSourceEnum_AWEME_DETAIL', 'https://www.douyin.com/aweme/v1/play/?video_id=v0200fg10000c9glhfrc77u0fbj4iqs0&line=0&file_id=e330ce20f5f245e9b1923f8cd26b6ef9&sign=0ee1a91a52645237a4d1382c22a0b540&is_play_url=1&source=PackSourceEnum_AWEME_DETAIL', ...]
for url in url_list:
video_name = url[47:67]
video_full_path = os.path.join(VIDEO_PATH,"%s.mp4" % video_name)
download(url, video_full_path)
666,动态壁纸色香味,简直不要太飒
感兴趣的小伙伴,赠送全套Python学习资料,包含面试题、简历资料等具体看下方。
一、Python所有方向的学习路线
Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照下面的知识点去找对应的学习资源,保证自己学得较为全面。
二、Python必备开发工具
工具都帮大家整理好了,安装就可直接上手!
三、最新Python学习笔记
当我学到一定基础,有自己的理解能力的时候,会去阅读一些前辈整理的书籍或者手写的笔记资料,这些笔记详细记载了他们对一些技术点的理解,这些理解是比较独到,可以学到不一样的思路。
四、Python视频合集
观看全面零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
五、实战案例
纸上得来终觉浅,要学会跟着视频一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
六、面试宝典
简历模板
若有侵权,请联系删除