使用JS批量爬取抖音视频无水印链接

目前抖音开放了网页版,可以直接通过打开链接就能观看视频,但是我们作为视频剪辑专业户,希望能批量下载视频。

我们以代古拉k作品主页为例,地址:

https://www.douyin.com/user/MS4wLjABAAAAGI7A6weZZ5J8g5Fe-Dd_SOho75oVErhFh7JW9XY_Aok?extra_params=%7B%22search_id%22%3A%22202108070050160102122011974537B25C%22%2C%22search_result_id%22%3A%2289923219116%22%2C%22search_keyword%22%3A%22%E4%BB%A3%E5%8F%A4%E6%8B%89k%22%2C%22search_type%22%3A%22user%22%7D&enter_method=search_result&enter_from=search_result

本节操作需要具备一定HTML+JS的基础能力,否则看不懂,因为这里只提供思路,不直接提供源代码,希望你耗子尾汁。

 通过上图可以看到,它的每个视频都是li标签,并且class名都一样,我们可以通过命令

document.getElementsByClassName("e0fe394964bbd9fef7d310c80353afdd-scss")

获取到它当前页面加载的所有作品,有人可能会问,那我想下载全部作品怎么办?

那简单,因为它采用滑动式加载的视频,无需翻页,可以直接往下滚动,滚动出所有作品(当然身为IT的我们,是通过代码来自动滚动的),之后在执行这条命令,就能获取到所有作品。

通过数组遍历出该作品的视频页面链接,以下部分代码:

 这里我还加上了获取点赞数量的判断,过滤出最低的点赞作品,打造爆款不是梦,是不是美滋滋?

如果目前你也在跟着文章内容操作,你会发现获取的链接,还不是最终的mp4链接啊,那我怎么保存成mp4视频文件? 

所以到这里,事情远远还没完,我们先随便进到一个作品里面,然后查看它的mp4视频文件。

 上面图标所指的地方,才是mp4最终的文件地址,我们可以通过js代码,提取出来:

 但是,如果你在编写的过程中,你是不是又发现新问题了,那我应该如何让他自动跳转到视频播放页面,又如何自动执行这行代码提取?

所以说,如果你对HTML有比较深的了解,你可以通过iframe操作,也就是在用户的作品列表里面,插入一个iframe框架,然后在通过js来加载视频详细页面,在通过js来提取出mp4链接,即可达到全自动了!!

至此,我们可以看到左侧,它通过操作iframe框架来实现了全自动获取MP4播放链接,后面你就可以通过,python或者c#等其它语言将它批量保存成mp4文件啦!

 

 

爬取的评论,你需要使用网络爬虫技术,结合Python的requests、BeautifulSoup或更现代的Selenium库(如果页面有JavaScript动态加载)。由于的反爬机制较为严格,直接爬取可能会遇到IP被封等问题,因此在开始之前,请确保你已经了解并遵守相关的法律和政策,包括可能存在的robots.txt规则。 以下是一个基本的步骤概述: 1. **分析网页结构**:首先访问某个视频的评论页,查看HTML结构,找到评论列表的部分。通常这种信息隐藏在`<div>`标签下,比如`class="comment_list"`这样的元素。 2. **发送请求**:使用requests库发送GET请求获取HTML源码。例如: ```python import requests url = "https://www.tiktok.com/video/xxxxx/comments" # 替换为实际的URL headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3'} response = requests.get(url, headers=headers) ``` 3. **解析数据**:用BeautifulSoup解析返回的HTML,提取评论文本。例如: ```python from bs4 import BeautifulSoup soup = BeautifulSoup(response.text, 'lxml') comments = soup.find_all('div', class_='comment_list_item') # 更改根据实际的CSS选择器 ``` 4. **处理数据**:遍历评论列表,提取每条评论的内容、用户名等信息,存储到文件或数据库中。 5. **异常处理**:考虑到可能遇到的网络问题、登录限制等因素,添加适当的错误处理和重试逻辑。 6. **设置频率限制**:避免过于频繁地请求,以免触发平台的反爬机制。可能需要设置合理的延时(time.sleep)。 记得,这只是一个基础框架,实际操作可能会因为的具体变化而有所不同。如果你遇到了动态加载的问题,可能需要使用Selenium配合WebDriver来模拟浏览器行为。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

诺离

创作不易,令君打赏,一分也是爱

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值