抖音上好看的跳舞小姐姐,Python都给你都下载好了!
文 | 酷头
来源:印象python「ID: python_logic」
所以本次我将使用万能的selenium为大家批量下载抖音小姐姐高清无水印视频
百度上好多selenium的使用教程,这里我直接进主题
selenium可以直接可以用pip安装。
pip install selenium
要注意的是chromedriver的版本一定要与Chrome的版本一致,不然就不起作用。
有两个下载地址分别如下:
1、http://chromedriver.storage.googleapis.com/index.html
2、https://npm.taobao.org/mirrors/chromedriver/
当然,你首先需要查看你的Chrome版本,在浏览器中输入
chrome://version 即可查看浏览器版本信息
准备就绪接下来进入实战
随便找一个你喜欢的小姐姐跳舞视频
主页:
https://www.douyin.com/user/MS4wLjABAAAADuTJkeJeDbKDjdbwNeB8bP81pVX_MWRnncAbPyu2DiE
我们今天的目标就是使用selenium下载这505个小姐姐跳舞的视频。
from selenium import webdriver
# 加载驱动
drive = webdriver.Chrome()
# 打开目标网址
drive.get('https://www.douyin.com/user/MS4wLjABAAAADuTJkeJeDbKDjdbwNeB8bP81pVX_MWRnncAbPyu2DiE')
可以看到我们的目标网站已经成功打开,这里面涉及到一个滑块验证码,今天我们手动验证,后面专门出一期滑块验证内容
从下图我们可以看出,每一个小姐姐的信息都位于一个li标签中
这里涉及到浏览器一个懒加载问题。就是只有当你下滑的时候li标签才会被加载出来
所以为了获取全部的视频信息,就要在此之前将全部的li标签展示出来,
也就是说要让浏览器页面自动化到最底部
这里需要使用js,函数我已经封装好了,需要的话直接调用即可代码如下
# 页面滑动函数
def drop_down():
for page in range(1, 100, 4):
time.sleep(1)
j = page/9
js = 'document.documentElement.scrollTop = document.documentElement.scrollHeight * %f' %j
drive.execute_script(js)
可以看到浏览器一直在下滑页面直到底部
此时所有的li便签已经成功的给我们展现出来了
提取内容我们可以使用css或者是xpath,第一步我们首先提取到所有的li标签
很简单
直接右键copy selector或者xpath
获取到所有的li标签之后接下来我们获取视频的链接
他是在a标签里面的,我们同样直接右键copy selector或者xpath
# 获取所有的li标签
lis = driver.find_elements_by_css_selector('div._927ae3b0dd790b5b62eae61c7d2fa0bc-scss > div:nth-child(2) > ul li')
# 获取所有的视频链接
for li in lis:
li_url = li.find_element_by_css_selector('a').get_attribute('href')
print(li_url)
部分结果打印如下:
视频链接已经获取到手,下载就是轻而易举的事情了
直接上代码:
# 保存数据
new_title = change_title(title)
video_content = requests.get(url=video_url).content
with open(save_file + new_title + '.mp4', mode='wb') as fin:
fin.write(video_content)
print(title+'.mp4文件下载完成!!')
来给你们看着视频吧,看看这颜值和身材...
后续还可以在时间上进行进一步的优化。例如可以加上多线程,
这样下载速度会更好一点。
<End>
▼
一个让程序员男友记住一辈子的Pycharm 插件!
Pycharm 常用快捷键大全【快查字典版】
Scrapy爬取网易严选制作可视化大屏!
Scrapy Python爬虫实战:抓取知乎问题下所有回答!
豆瓣超高评分《扫黑风暴》热评爬取可视化展示!
分享
收藏
点赞
在看