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

web scraping python行中的多个属性(div和id)

无法在 CSV 中存储信息(Python Web Scraping)