Python 爬虫之下载视频(二)

news/2024/7/19 10:09:55 标签: python, 爬虫, 音视频, 开发语言, 下载, 批量

爬取某Y的视频链接和标题


文章目录

  • 爬取某Y的视频链接和标题
  • 前言
  • 一、基本思路
  • 二、程序解析阶段
  • 三、程序处理阶段
  • 总结


前言

这篇内容就简单给大家写个如何从网页上爬取某B主 主页 页面上所有的视频链接和视频标题。

这篇是基础好好看,下篇会根据这篇的结果做一个批量爬取视频的教程(先提前给大家展示个效果图)。
在这里插入图片描述


一、基本思路

首先,电脑浏览器(最好用火狐或谷歌浏览器)打开某B主的某音主页,复制其网页地址栏的地址。
其次,将复制的网页输入到下面的程序的这个代码里面。
在这里插入图片描述
最后,运行程序,需要等待一两分钟,程序会自动列出博主网页上视频的链接。
在这里插入图片描述

二、程序解析阶段

代码如下:

python">import re
from selenium import webdriver
from selenium.webdriver.common.by import By
import time

# 创建一个对象实例,用来表示用哪个浏览器爬取
driver = webdriver.Firefox()
# 某个视频的地址
driver.get()
# 等待一下,等打开网页
time.sleep(8)

# 页面打开会弹出一个登录窗口
close = driver.find_element(by=By.CSS_SELECTOR, value='.dy-account-close')
# 等登录窗口弹出来
time.sleep(5)
# 关闭弹出的登录窗口
close.click()
time.sleep(2)

这里我用的是火狐浏览器所以是Firefox(),建议使用火狐浏览器。
当程序执行的时候会自动弹出网页窗口,这个时候不要动它,让程序泡,它自动做完上面代码写的操作。
注释写的很清楚,这里我就不多做解释了。


三、程序处理阶段

代码如下:

python">url_list = []
# 获视频地址所在的位置
right_url_list = driver.find_elements(by=By.CSS_SELECTOR, value='a.hY8lWHgA.SF0P5HVG.h0CXDpkg')
for url in right_url_list:

    # 获取此位置下的视频链接
    aaa = url.get_attribute('href')
    url_list.append(aaa)
print(url_list)

# 获取视频的标题位置
title_list = []
video_name_list = driver.find_elements(by=By.CSS_SELECTOR, value='.Ja95nb2Z')
for video_name in video_name_list:
		# 获取视频标题元素的内容
    video_name = str(video_name.text)
    
    # 正则表达式处理。只保留中文汉字
    video_ = re.findall(r'[\u4e00-\u9fff]+', video_name)
    
    # 把每个标题匹配到的汉字分别组装起来
    title_list.append(''.join(video_))
print(title_list)

这里面主要涉及到了两个重要的知识点。
一个是 driver.find_elements() 方法;二是正则表达式的相关的东西。大家一定要去百度看一下。要知其然,更要知其所以然。


总结

此程序是在Python 3.11.6 版本的环境,注意哦要不然程序可能运行不起来。
很简单,代码不多,大家好好学技术,你X我也X!!!哈哈哈哈哈哈

在这里插入图片描述


http://www.niftyadmin.cn/n/5279860.html

相关文章

搭建 ElasticSearch 集群环境

安装基础环境 我们用虚拟机创建出3台机器,修改主机名为s1,s2和s3 # 打开如下文件,修改主机名 vim /etc/hostname # 重启机器 reboot查看centos版本为7.9 [roots1 ~]# cat /etc/centos-release CentOS Linux release 7.9.2009 (AltArch)下载…

Github项目推荐:在线rename

项目地址 GitHub - JasonGrass/rename: 在线文件批量重命名 项目简介 一个开源的在线重命名文件工具。利用了新的浏览器API获取文件句柄,在不上传文件的情况下对文件进行重命名。可以作为前端文件操作api学习范例。 项目截图

力扣每日一题day37[113.路径总和ii]

给你二叉树的根节点 root 和一个整数目标和 targetSum ,找出所有 从根节点到叶子节点 路径总和等于给定目标和的路径。 叶子节点 是指没有子节点的节点。 示例 1: 输入:root [5,4,8,11,null,13,4,7,2,null,null,5,1], targetSum 22 输出&a…

【分享】4个方法打开PDF文件

PDF是很多人工作中经常使用的电子文档格式,但是可能有些刚接触的小伙伴不知道用什么工具来打开PDF文件,今天小编就来分享一下4种常用的工具。 1. 使用浏览器 只要有电脑基本都会安装一到两款浏览器,其实浏览器也可以用来打开PDF文件。 只需…

ffmpeg 硬件解码零拷贝unity 播放

ffmpeg硬件解码问题 ffmpeg 在硬件解码,一般来说,我们解码使用cuda方式,当然,最好的方式是不要确定一定是cuda,客户的显卡不一定有cuda,windows 下,和linux 下要做一些适配工作,最麻…

Spring MVC 方法中添加参数、HttpServletRequest 和 HttpServletResponse 对象

在这个例子中,我们添加了 HttpServletRequest 和 HttpServletResponse 对象作为控制器方法的参数。这样,你就可以在方法内部同时访问请求参数、请求对象和响应对象,从而进行更灵活的 HTTP 请求和响应处理。 RestController public class MyC…

【Java图解算法】739.每日温度

单调栈 引言 生活中什么东西大的时候会变小,小的时候变大呢🐶? 答:当然是单调栈 739.每日温度 题目链接: https://leetcode.cn/problems/daily-temperatures/ 给定一个整数数组 temperatures ,表示每…