AI网络爬虫:批量爬取电视猫上面的《庆余年》分集剧情
电视猫上面有《庆余年》分集剧情,如何批量爬取下来呢?

先找到每集的链接地址,都在这个class="epipage clear"的div标签里面的li标签下面的a标签里面:

<a href="/drama/Yy0wHDA=/episode">1</a>
这个链接是相对地址,前面加上https://www.tvmao.com,才是完整的URL地址;

每集的标题在p标签里面:
<p class="epi_t">
第7集:范闲赴诗会作绝句惊艳京城
</p>
在kimi中输入提示词:
你是一个Python编程专家,要完成以下任务的Python脚本的编写:
打开网页:https://www.tvmao.com/drama/Yy0wHDA=/episode
在源代码中定位class="epipage clear"的div标签;
提取div标签里面所有a标签的href值,前面加上”https://www.tvmao.com”,构成网页下载URL;
解析URL,定位class="epi_t"的p标签,提取其文本内容,作为txt文档文件名;提取class="clear epi_c"的article标签里面的文本内容,保存为txt文档到D盘下的qyn文件夹;
注意:
每下载一个网页,随机暂停1-10秒;
网页文件名要进行处理,去除不符合window系统文件命名规范的特殊字符,处理文件名时要确保文件名中不包含任何特殊字符或不可见字符,可以通过使用strip()方法来去除字符串两端的空白字符,包括换行符和空格;
每一步都要输出信息到屏幕
要有应对反爬虫的措施,设置请求头;

生成的源代码如下:
import requests
from bs4 import BeautifulSoup
import random
import time
import os
# 目标网页URL
url = 'https://www.tvmao.com/drama/Yy0wHDA=/episode'
# 设置请求头,模拟浏览器访问
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'
}
# 发送HTTP请求
response = requests.get(url, headers=headers)
response.raise_for_status() # 如果请求失败,将抛出异常
# 解析HTML
soup = BeautifulSoup(response.text, 'html.parser')
# 定位class="epipage clear"的div标签
div_epipage = soup.find('div', class_='epipage clear')
# 提取所有a标签的href值,并构成完整的网页下载URL
episode_links = []
for a_tag in div_epipage.find_all('a', href=True):
episode_url = 'https://www.tvmao.com' + a_tag['href']
episode_links.append(episode_url)
# 创建文件夹
d盘_qyn文件夹路径 = 'D:\\qyn'
if not os.path.exists(d盘_qyn文件夹路径):
os.makedirs(d盘_qyn文件夹路径)
# 下载并保存每个剧集的文本内容
for episode_url in episode_links:
print(f'正在下载:{episode_url}')
# 发送HTTP请求
episode_response = requests.get(episode_url, headers=headers)
episode_response.raise_for_status()
# 解析HTML
episode_soup = BeautifulSoup(episode_response.text, 'html.parser')
# 解析文件名
epi_t = episode_soup.find('p', class_='epi_t')
file_name = epi_t.text.strip().replace(':', '').replace('/', '-').replace('\\', '-').replace('|', '-') # 处理文件名
# 解析文本内容
epi_c = episode_soup.find('article', class_='clear epi_c')
text_content = epi_c.get_text(strip=True)
# 保存到txt文档
file_path = os.path.join(d盘_qyn文件夹路径, file_name + '.txt')
with open(file_path, 'w', encoding='utf-8') as file:
file.write(text_content)
print(f'已保存:{file_path}')
# 随机暂停1-10秒
time.sleep(random.randint(1, 10))
print('所有剧集文本已下载完毕。')


相关文章:
AI网络爬虫:批量爬取电视猫上面的《庆余年》分集剧情
电视猫上面有《庆余年》分集剧情,如何批量爬取下来呢? 先找到每集的链接地址,都在这个class"epipage clear"的div标签里面的li标签下面的a标签里面: <a href"/drama/Yy0wHDA/episode">1</a> 这个…...
md5强弱碰撞
一,类型。 1.弱比较 php中的""和""在进行比较时,数字和字符串比较或者涉及到数字内容的字符串,则字符串会被转换为数值并且比较按照数值来进行。按照此理,我们可以上传md5编码后是0e的字符串,在…...
【Docker故障处理篇】运行容器报错“docker: failed to register layer...file exists.”解决方法
【Docker故障处理篇】运行容器报错“docker: failed to register layer...file exists.” 一、Docker环境介绍2.1 本次环境介绍2.2 本次实践介绍二、故障现象2.1 运行容器消失2.2 重新运行容器报错三、故障分析四、故障处理4.1 停止 Docker 服务:4.2 备份重要数据4.3 清理冲突…...
小红书-社区搜索部 (NLP、CV算法实习生) 一面面经
😄 整个流程按如下问题展开,用时60min左右面试官人挺好,前半部分问问题,后半部分coding一道题。 各位有什么问题可以直接评论区留言,24小时内必回信息,放心~ 文章目录 1、自我介绍2、介绍下项目:微信-多模态小视频分类2.1、看你用了cross-att来融合多模态信息,cross…...
解读makefile中的.PHONY
在 Makefile 中,.PHONY 是一个特殊的目标,用于声明伪目标(phony target)。伪目标是指并不代表实际构建结果的目标,而是用来触发特定动作或命令的标识。通常情况下,.PHONY 会被用来声明一组需要执行的动作&a…...
linux配置防火墙端口
配置防火墙,添加或删除端口,需要有root权限。 防火墙常用命令如下: 1.查看防火墙状态: systemctl status firewalld active(running):开启状态,正在运行中 inactive(dead):关闭状态ÿ…...
sklearn线性回归--岭回归
sklearn线性回归--岭回归 岭回归也是一种用于回归的线性模型,因此它的预测公式与普通最小二乘法相同。但在岭回归中,对系数(w)的选择不仅要在训练数据上得到好的预测结果,而且还要拟合附加约束,使系数尽量小…...
三十一、openlayers官网示例Draw Features解析——在地图上自定义绘制点、线、多边形、圆形并获取图形数据
官网demo地址: Draw Features 先初始化地图,准备一个空的矢量图层,用于显示绘制的图形。 initLayers() {const raster new TileLayer({source: new XYZ({url: "https://server.arcgisonline.com/ArcGIS/rest/services/World_Imagery/…...
医疗科技:UWB模块为智能医疗设备带来的变革
随着医疗科技的不断发展和人们健康意识的提高,智能医疗设备的应用越来越广泛。超宽带(UWB)技术作为一种新兴的定位技术,正在引领着智能医疗设备的变革。UWB模块作为UWB技术的核心组成部分,在智能医疗设备中发挥着越来越…...
Java面试题大全(从基础到框架,中间件,持续更新~~~)
从Java基础到数据库,Spring,MyBatis,消息中间件,微服务解决全部Java面试过程中的问题。(持续更新~~) Java基础 2024最新Java面试题——java基础 MySQL基础 mysql基础知识——适合不太熟悉数据库知识的小…...
零知识证明在隐私保护和身份验证中的应用
PrimiHub一款由密码学专家团队打造的开源隐私计算平台,专注于分享数据安全、密码学、联邦学习、同态加密等隐私计算领域的技术和内容。 隐私保护和身份验证是现代社会中的关键问题,尤其是在数字化时代。零知识证明(Zero-Knowledge Proofs&…...
15.微信小程序之async-validator 基本使用
async-validator是一个基于 JavaScript 的表单验证库,支持异步验证规则和自定义验证规则 主流的 UI 组件库 Ant-design 和 Element中的表单验证都是基于 async-validator 使用 async-validator 可以方便地构建表单验证逻辑,使得错误提示信息更加友好和…...
元宇宙vr科普馆场景制作引领行业潮流
在这个数字化高速发展的时代,北京3D元宇宙场景在线制作以其独特的优势,成为了行业内的创新引领者。它能够快速完成空间设计,根据您的个性化需求,轻松设置布局、灯光、音效以及互动元素等,为您打造出一个更加真实、丰富…...
kotlin基础之高阶函数
Kotlin中的高阶函数、内联函数以及noinline和crossinline关键字是函数式编程中的重要概念。下面我将逐一解释这些概念的定义、实现原理、使用场景以及noinline和crossinline关键字的具体用法。 高阶函数 定义:高阶函数是接受一个或多个函数作为参数,或…...
【Python音视频技术】用moviepy实现图文成片功能
今天上班的时候看到有人群里问 图文成片怎么实现。 临时给我提供一点写作的灵感,趁着下班写一篇。这里用到 python的moviepy库, 之前文章介绍过。 大体思路:假定有4张图片,每张图片将在视频中展示2秒钟,并且图片会按照…...
【Linux】权限的理解之权限掩码(umask)
目录 前言 一、利用八进制数值表示文件或目录的权限属性 二、系统默认的权限掩码和权限掩码的作用原理 三、分析权限掩码改变文件或目录的权限属性 前言 权限掩码是由4个数字组合而成的,默认的第一位数字是0;后三位数字分别由八进制位数字组成。权限…...
UVa1466/LA4849 String Phone
UVa1466/LA4849 String Phone 题目链接题意分析AC 代码 题目链接 本题是2010年icpc亚洲区域赛大田赛区的G题 题意 平面网格上有n(n≤3000)个单元格,各代表一个重要的建筑物。为了保证建筑物的安全,警察署给每个建筑物派了一名警察…...
使用Word表格数据快速创建图表
实例需求:Word的表格如下所示,标题行有合并单元格。 现在需要根据上述表格数据,在Word中创建如下柱图。如果数据在Excel之中,那么创建这个图并不复杂,但是Word中就没用那么简单了,虽然Word中可以插入图表&a…...
JAVA面试题大全(十三)
1、Mybatis 中 #{}和 ${}的区别是什么? 在 MyBatis 中,#{} 和 ${} 是两种用于参数绑定的方式,它们之间的主要区别在于数据处理的方式和 SQL 注入的风险。 #{}:预编译处理 #{} 用于预编译处理,MyBatis 会为其生成 Prep…...
搜维尔科技:第九届元宇宙数字人设计大赛入围作品名单
随着第九届元宇宙数字人设计大赛渐近尾声,各院校提交的数字人作品已陆续完成评分统计汇总工作!现将入围名单公布,请入围团队尽可能到场参加大赛颁奖典礼,具体获奖名次将在颁奖典礼中现场公布! 颁奖典礼时间、地点&…...
Tycoon2FA 利用 OAuth 设备码钓鱼劫持 Microsoft 365 账户的机理与防御
摘要 以 Tycoon2FA 为代表的钓鱼即服务平台正采用基于 OAuth 2.0 设备码流程的新型钓鱼攻击,针对 Microsoft 365 账户实施高隐蔽性劫持。该攻击不窃取明文口令与传统双因素验证码,而是诱导用户在微软官方认证页面完成设备授权,使攻击者获取合…...
MifareOneTool完全指南:零基础掌握Windows最强NFC卡片管理工具
MifareOneTool完全指南:零基础掌握Windows最强NFC卡片管理工具 【免费下载链接】MifareOneTool A GUI Mifare Classic tool on Windows(停工/最新版v1.7.0) 项目地址: https://gitcode.com/gh_mirrors/mi/MifareOneTool 你是否曾经面对…...
保姆级教程:手把手教你搞定OpenPnP主次基准点矫正(附PCB制作与避坑心得)
OpenPnP主次基准点矫正实战指南:从硬件准备到精准调试 1. 准备工作:构建稳定的校准环境 在开始OpenPnP主次基准点矫正之前,充分的准备工作能避免80%的常见问题。首先需要理解基准点在贴片机坐标系中的核心作用——它们如同地图上的经纬度&…...
一文读懂:文档解析、RAG、知识库及文档Agent
AI会取代人类工作吗?斯坦福大学教授、AI领域顶尖学者吴恩达近日明确表示:不会有AI就业末日。在他看来,AI会影响岗位、改变技能要求、替代部分任务,但将其描绘成大规模失业灾难,“是在制造不必要的恐惧,也是…...
树莓派TFT LCD屏幕连接全攻略:从SPI到DPI的选型与驱动配置
1. 项目概述:为什么是TFT LCD与树莓派? 如果你玩过树莓派,大概率会从一块小小的HDMI显示器或者SSH终端开始。但当你想要做一个便携的天气站、一个复古游戏机,或者一个嵌入在机器人里的控制面板时,拖着笨重的HDMI显示器…...
Sora 2时间轴与Blender NLA编辑器深度对齐指南(2024.06.12 Blender官方补丁前最后兼容方案)
更多请点击: https://intelliparadigm.com 第一章:Sora 2与Blender整合的底层架构演进 Sora 2并非独立运行的视频生成引擎,而是以模块化推理服务(Modular Inference Service, MIS)为核心构建的分布式计算框架。其与Bl…...
Zynq UltraScale+ MPSoC SoM选型与开发实战:从异构计算到嵌入式系统设计
1. 项目概述:为什么选择Zynq UltraScale MPSoC SoM? 在嵌入式系统开发,尤其是需要高性能计算、实时处理与灵活硬件加速的领域,选型往往是决定项目成败的第一步。过去几年,我经手过不少项目,从简单的微控制器…...
告别命令行!5分钟搞定SimpleFOCStudio免安装版(附中文版下载)
告别命令行!5分钟搞定SimpleFOCStudio免安装版(附中文版下载) 对于许多创客和硬件爱好者来说,调试电机参数本应是充满创造力的过程,却常常被复杂的开发环境配置所困扰。想象一下,当你拿到一块崭新的FOC驱动…...
如何快速跳过FF14副本动画:终极ACT插件安装与使用指南
如何快速跳过FF14副本动画:终极ACT插件安装与使用指南 【免费下载链接】FFXIV_ACT_CutsceneSkip 项目地址: https://gitcode.com/gh_mirrors/ff/FFXIV_ACT_CutsceneSkip 还在为《最终幻想14》国服副本中那些无法跳过的冗长动画而烦恼吗?FFXIV_AC…...
一张表算清账:发券营销的ROI该怎么算?
一、 别被“领券量”忽悠了 后台显示发了5000张券,老板很高兴,觉得生意稳了。结果月底一算账,发现不仅没赚,还贴进去几千块广告费。问题出在哪? 只看“领”,不看“核”。二、 核心指标:核销率…...
