当前位置: 首页 > news >正文

Python 爬虫之下载视频(二)

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


文章目录

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


前言

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

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


一、基本思路

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

二、程序解析阶段

代码如下:

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


三、程序处理阶段

代码如下:

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.lryc.cn/news/266635.html

相关文章:

  • 智能优化算法应用:基于原子轨道搜索算法3D无线传感器网络(WSN)覆盖优化 - 附代码
  • [机器人-2]:开源MIT Min cheetah机械狗设计(二):机械结构设计
  • 用友U8+CRM help2 任意文件读取漏洞复现
  • freeRTOS实时操作系统学习笔记
  • 解决虚拟机卡顿、卡死、待机后不动的情况(真实有效
  • 【MybatisPlus快速入门】(3)SpringBoot整合MybatisPlus 之 Lombok插件安装及MybatisPlus分页代码示例
  • SpaceDesk如何连接平板/PC(生产力副屏)
  • 61.SVN版本控制系统
  • 操作系统 内存管理篇
  • 深度学习中用来训练的train.py 探究学习2.0( 数据预处理)
  • vscode debug c++代码
  • HarmonyOS的功能及场景应用
  • 汽车级EEPROM 存储器 M24C64-DRMN3TP/K是电可擦除可编程只读存储器?它的功能特性有哪些?
  • VS Code无法远程ubuntu
  • 大数据开发职业规划
  • XxIJob入门-示例
  • 单挑力扣(LeetCode)SQL题:1549. 每件商品的最新订单(难度:中等)
  • Javacv-利用Netty实现推流直播复用(flv)
  • cfa一级考生复习经验分享系列(十一)
  • Nginx基本配置内容
  • Jenkins安装与设置(插件安装失败,版本问题解决)
  • 精度提升10个点!HD-Painter:无需训练的文本引导高分辨率图像修复方案!
  • javaweb初体验
  • 手写爬虫框架
  • 基于Kettle和帆软Finereport的血缘解析
  • 给qemu虚机更换(Windows PE)光盘
  • python 神经网络归纳
  • Python高级语法与正则表达式
  • 【洛谷算法题】P4414-[COCI2006-2007#2] ABC【入门2分支结构】Java题解
  • Python如何将图片转换成字符