python52行下载小红书分享链接视频
本帖最后由 qianaonan 于 2023-10-2 19:59 编辑没做ui界面(主要是懒),直接是输入分享文本的,我自己用python3.11程序运行无效,请使用pycharm或者其他编程软件运行。
如果是电脑网页的小红书视频输入的是这个链接,不是网址。安卓嘛就是视频分享的链接。粘贴出来就是那个带表情图的链接,别搞错了。
脚本如下:
import requests
import re
import os
script_dir = os.path.dirname(os.path.abspath(__file__))
fx=input()
urls = re.findall(r'http?://(?:||[$-_@.&+]|[!*\\(\\),]|(?:%))+', fx)
print(urls)
url = urls # 替换为实际的分享链接
# 发送请求
response = requests.get(url)
# 检查状态码和处理重定向
if response.status_code == 200:
page_content = response.text
# 处理页面内容
elif response.status_code // 100 == 3:
# 获取重定向的新链接
redirect_url = response.headers['Location']
# 继续请求新链接
new_response = requests.get(redirect_url)
if new_response.status_code == 200:
page_content = new_response.text
# 处理最终页面内容
else:
print("无法获取最终页面")
else:
print("请求失败")
# 处理页面内容
#print(page_content)
def get_mid_string(html, start_str, end):
try:
start = html.find(start_str)
if start >= 0:
start += len(start_str)
end = html.find(end, start)
if end >= 0:
return html.strip()
except:
return None
video=get_mid_string(page_content,'"masterUrl":"','","')
title=get_mid_string(page_content,'</style><title>','</title>')
#print(title)
video_url = video.replace("\\u002F", "/")
# 替换为实际的视频URL
output_file = os.path.join(script_dir, "{}.mp4".format(title))
# 发送GET请求以获取视频内容
response = requests.get(video_url, stream=True)
if response.status_code == 200:
# 打开一个文件用于保存视频内容
with open(output_file, 'wb') as file:
for chunk in response.iter_content(chunk_size=1024):
if chunk:
file.write(chunk)
print("视频下载完成")
else:
print("无法下载视频")
命令窗口输入分享链接(一定要是视频的分享链接),脚本会自动下载到与脚本同目录的文件夹中,自己测试了几个分享链接,都成功下载了,没有遇到bug,所以不确定是不是每一个分享链接都能确保下载成功。
本人没有下载小红书视频的需求,所以不做网页端了,就写一个python脚本吧!
最后那些搬运的,搬运请注明搬运地址,别搞得是你自己写的一样,刚写的教程第二天就发在别的网站上了,一天天的净干这些无聊的事情。 虽然这几行代码没有接口与算法,也没啥难度,但是搬运确实可耻 python 的 requests 模块还能用?之前写脚本的时候发现它对大部分网站的支持已经不算友好了,尤其是像weibo这类一个链接会跳转好几次验证还带一堆异步加载的页面,被迫转向 selenium。
不过对于相对静态切很少异步加载的网页(比如m.weibo.com),requests还是够用的。 哎呦 不错哟 48325619 发表于 2023-10-2 18:14
虽然这几行代码没有接口与算法,也没啥难度,但是搬运确实可耻
前几天看到自己辛辛苦苦写的教程发到别人的博客里实在太气了,重点是连一个字都没有改,也没标注搬运地址,属实无语,正好借着这个发泄一下:dizzy:。 Pojawa 发表于 2023-10-2 19:28
python 的 requests 模块还能用?之前写脚本的时候发现它对大部分网站的支持已经不算友好了,尤其是像weibo ...
还是看网页吧,很多网页我觉得还是喜欢用requests,selenium感觉就像是写了自动脚本。 短小精湛,我还停留在requests瞎用的状态 agas 发表于 2023-10-2 20:04
短小精湛,我还停留在requests瞎用的状态
慢慢来。 可惜不能图片
Pojawa 发表于 2023-10-2 19:28
python 的 requests 模块还能用?之前写脚本的时候发现它对大部分网站的支持已经不算友好了,尤其是像weibo ...
selenium 多慢;
requests,对于静态,和防爬要求不太高的,肯定是利器。