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

Python爬虫第二课:爬取HTML静态网页之《某某小说》 小说章节和内容完整版

Python-HTML-爬虫:爬取《某某小说》 小说章节和内容完整版

  • 所有章节和内容已成功获取
  • html 分析 详情页面
  • 代码示列
  • web前端快速入门学习地址

所有章节和内容已成功获取

  • 示列
  • 在这里插入图片描述

html 分析 详情页面

  • 在代码中获取到这个连接地址

  • 在这里插入图片描述

  • 详情页面HTML 中 正文部分

  • 在这里插入图片描述

代码示列


import requestsfrom lxml import etree#使用requests库获取网页内容
# 爬取 地址为 https://huayu.zongheng.com/showchapter/906233.html 的网页内容
# 注意,1单独爬取静态网页,2动态网页需要使用selenium
# 请熟练使用 requests库,
# 普法:政府类网站不能爬,公民信息不能保存,大公司网站不要爬,容易被追踪,涉及版权知识产权的信息不要爬,容易惹纠纷。
# 爬取 名为:《某某小说》 的小说章节def getHtmlContent(href):req = requests.get(href)# 使用lxml解析HTML内容html = etree.HTML(req.text)# 提取div中class="content"的内容# 注意:如果class属性精确等于content,使用@class="content"# 如果class属性包含content,使用contains(@class, "content")content_divs = html.xpath('//div[@class="content"]')# 如果上面的方法没有结果,尝试使用containsif not content_divs:content_divs = html.xpath('//div[contains(@class, "content")]')content_text = ""for div in content_divs:# 提取div内的文本内容text = div.text if div.text else ""# 也要提取div内所有子元素的文本for elem in div.iter():if elem.text and elem != div:text += elem.textif elem.tail:text += elem.tailcontent_text += text + "\n"return content_textif __name__ == '__main__':url = "https://huayu.zongheng.com/showchapter/906233.html"req = requests.get(url)# 使用lxml解析HTML内容html = etree.HTML(req.text)# 提取<li class="col-4">下的<a>标签内容# 注意:class属性中有空格,需要使用contains函数来匹配li_elements = html.xpath('//li[contains(@class, "col-4")]')for li in li_elements:# 查找每个li元素中的a标签a_tags = li.xpath('.//a')for a in a_tags:# 输出a标签的文本内容print("目录--->:", a.text ,"-----连接地址---->:",a.get('href'),"-----内容----->:",getHtmlContent(a.get('href')))

web前端快速入门学习地址

  • web前端快速入门学习地址
http://www.dtcms.com/a/339929.html

相关文章:

  • 智驾-AEB
  • 羟氯喹通过抑制抗磷脂综合征诱导的绒毛外滋养细胞过度自噬
  • 【模版匹配】基于深度学习
  • 洛谷 P2834 纸币问题 3-普及-
  • 《当 AI 学会 “思考”:大语言模型的逻辑能力进化与隐忧》
  • centos 总有new mail出现原因
  • [论文阅读] 软件工程 - 用户体验 | VR应用的无障碍性困局:基于Meta和Steam商店评论的深度剖析
  • 多幅图片拼接算法系统
  • FIFO通讯速率> 30MB/s,CH346保障FPGA与PC的高速通道稳定高效
  • 当GitHub宕机时,我们如何协作
  • 工业4.0时代,耐达讯自动化Profibus转光纤如何重构HMI通信新标准?“
  • HTML应用指南:利用GET请求获取全国新荣记门店位置信息
  • 【DAB收音机】DAB服务跟随Service Follow功能(三)【FIG 0/24:OE Services】
  • Browser Use + Playwright到AI Agent:Web自动化如何实现质变?
  • C++装饰器模式:从“勇勇”例子到实际应用
  • Day09 Go语言深入学习(1)
  • 单片机编程架构
  • AttributeError: module ‘ffmpeg‘ has no attribute ‘probe‘
  • 【光学神经网络与人工智能应用专题】
  • 力扣hot100:三数之和(排序 + 双指针法)(15)
  • 深度学习-167-MCP技术之工具函数的设计及注册到MCP服务器的两种方式
  • 零售行业新店网络零接触部署场景下,如何选择SDWAN
  • 排查Redis数据倾斜引发的性能瓶颈
  • 缓存-变更事件捕捉、更新策略、本地缓存和热key问题
  • Autoware Universe 感知模块详解 | 第零节 如何学习开源框架(以Autoware Universe为例)
  • 新手入门:用 LangChain+LlamaIndex 构建 RAG,通义千问 API 免费够用
  • 机器人控制基础:串级 PID 和模糊 PID介绍与对比(干货总结)
  • Java 大视界 -- Java 大数据在智能物流无人配送车路径规划与协同调度中的应用
  • [激光原理与应用-303]:光学设计 - 光路设计的输出件
  • Git#cherry-pick