Python Web Scraping 从 url 保存 Tik Tok 视频
Posted
技术标签:
【中文标题】Python Web Scraping 从 url 保存 Tik Tok 视频【英文标题】:Python Web Scraping saving Tik Tok video from url 【发布时间】:2019-03-27 04:18:30 【问题描述】:我正在尝试保存来自该网址的视频:
原文:
https://api2.musical.ly/aweme/v1/play/?video_id=v09044a20000beeff4c108gs7sflfdug
链接更改:
http://v16.muscdn.com/3d238aa3e1c34000ce53792155cd0e15/5bcf3070/video/tos/maliva/tos-maliva-v-0068/e5a1ab74d0b54f97b3578924a428e58d/
视频来自 TikTok。当您转到该网址时,它会立即将您重定向到另一个网址。另一个网址是我想要保存视频的网址。但是,它引导您访问的 url 没有“查看 html 源”选项。我可以检查元素并显示它有一个视频标签,但我找不到在标签之间保存 url 的方法。我正在使用python和beautifulsoup。我试图用硒来做到这一点,但没有效果。
【问题讨论】:
requests.get(url).url
可以得到重定向后的url。
【参考方案1】:
编辑:
它重定向到的链接一直在变化!截至 2019 年 8 月 27 日,以下链接有效...
如果您收到Access denied
,您应该再次检查链接...
我认为您应该使用其他库来保存视频...
例如(在 Python 3+ 中):
import urllib.request
vid_url = "http://v19.muscdn.com/21b98c731608b8aa296ec31468c26dd1/5d652a88/video/tos/maliva/tos-maliva-v-0068/e5a1ab74d0b54f97b3578924a428e58d/?rc=amdvdnY7NDdpaDMzNTczM0ApdSlINzU2NTM0MzM2MzM1MzQ1b2k5ZmU5Z2c1ZGY5ZmQzPGZAaUBoNnYpQGczdilAZjY1QHJjYzRkLWBjYl8tLV4xNnNzOmk0NTU1LjQtLi4uMTQ0NTYtOiM2MDAtXjQzXzMxMTFeMWEzYSNvIzphLW8jOmAtbyMwLl4%3D"
urllib.request.urlretrieve(vid_url, "your_video_name.mp4")
如果您坚持使用 selenium,您可以添加如下选项:
options = webdriver.ChromeOptions()
options.add_experimental_option("prefs",
"download.default_directory": r"C:\Users\xxx\downloads\Test",
"download.prompt_for_download": False,
"download.directory_upgrade": True,
"safebrowsing.enabled": True
)
driver = webdriver.Chrome(chrome_options=options)
希望对您有所帮助!
【讨论】:
我运行了请求代码并出现错误:` http_error_default raise HTTPError(req.full_url, code, msg, hdrs, fp) HTTPError: Forbidden` - 是因为链接过期了吗?谢谢 @YJZ 是的,您是正确的,链接已过期。我已经更新了链接以适应 OP 的问题。谢谢! 谢谢@Moshe Slavin!我更新了链接,但仍然有同样的错误 - 有什么可以测试的吗? (当我将该网址放入浏览器时,它显示Access to v16.tiktokcdn.com was denied
)请告诉我。非常感谢!
@YJZ 链接又变了!
你能告诉我如何从视频网址下载没有水印的视频吗?以上是关于Python Web Scraping 从 url 保存 Tik Tok 视频的主要内容,如果未能解决你的问题,请参考以下文章
使用 Python 和 asyncio 进行 Web Scraping
Rap Genius w/ Python 上的 Web Scraping Rap 歌词
Mechanize Rails - Web Scraping - 服务器使用JSON进行响应 - 如何将URL解析为下载CSV
Web Scraping:在 Python 中解析 JSON 时出现 KeyError