python记录:提取嵌入在HTML格式中的文本信息_网易云音乐_X车网

Pandas入门教程(十四):数据导出全攻略——CSV、Excel、JSON、HTML、Markdown 与大数据量优化 分析结果需要输出才能产生价值。本文系统讲解 Pandas 的导出能力,详解 CSV 编码处理、Excel 多 Sheet 与格式化、JSON 多种 orient、HTML/Markdown/LaTeX 文档输出,并针对百万行数据给出分块、压缩、Parquet 等优化方案,帮你按场景选对导出格式。 阅读详情

很多网站请求后,返回的数据是嵌套在HTML格式中的。例如:5xclass.cn

对于这种情况想要提取其中的数据,常见有两种方法:

  • 基于bs4模块(本节重点)
  • 基于xpath模块

1.HTML格式

<div>
    <h1 class="item">洪七公</h1>
    <ul class="item">
        <li>篮球</li>
        <li>足球</li>
    </ul>
    <div id='x3'>
        <span>5xclass.cn</span>
        <a>pythonav.com</a>
    </div>
</div>

可以根据 标签名称 或 标签属性 来实现直接或间接寻找标签。

2.bs4

基于bs4可以实现去HTML格式的包裹的数据库中快速提取我们想要的数据。

2.1 安装

pip3 install beautifulsoup4
或
pip3.11 install beautifulsoup4

2.2 使用

  • 根据标签名称,获取标签(只获取找到的第1个)
  from bs4 import BeautifulSoup
  
  html_string = """<div>
      <h1 class="item">洪七公</h1>
      <ul class="item">
          <li>篮球</li>
          <li>足球</li>
      </ul>
      <div id='x3'>
          <span>5xclass.cn</span>
          <a href="www.xxx.com" class='info'>pythonav.com</a>
      </div>
  </div>"""
  
  soup = BeautifulSoup(html_string, features="html.parser")
  
  tag = soup.find(name='a')
  
  print(tag)       # 标签对象
  print(tag.name)  # 标签名字 a
  print(tag.text)  # 标签文本 pythonav.com
  print(tag.attrs) # 标签属性 {'href': 'www.xxx.com', 'class': ['info']}
  • 根据属性获取标签(只获取找到的第1个)
from bs4 import BeautifulSoup
  html_string = """<div>
      <h1 class="item">洪七公</h1>
      <ul class="item">
          <li>篮球</li>
          <li>足球</li>
      </ul>
      <div id='x3'>
          <span>5xclass.cn</span>
          <a href="www.xxx.com" class='info'>pythonav.com</a>
      </div>
  </div>"""
  
  soup = BeautifulSoup(html_string, features="html.parser")
  
  tag = soup.find(name='div', attrs={"id": "x3"})
  
  print(tag)
  • 嵌套读取,先找到某个标签,然后再去孩子标签中寻找
from bs4 import BeautifulSoup
  
  html_string = """<div>
      <h1 class="item">洪七公</h1>
      <ul class="item">
          <li>篮球</li>
          <li>足球</li>
      </ul>
      <div id='x3'>
          <span>5xclass.cn</span>
          <a href="www.xxx.com" class='info'>pythonav.com</a>
          <span class='xx1'>洪七公</span>
      </div>
  </div>"""
  soup = BeautifulSoup(html_string, features="html.parser")
  parent_tag = soup.find(name='div', attrs={"id": "x3"})
  
  child_tag = parent_tag.find(name="span", attrs={"class": "xx1"})
  
  print(child_tag)
  • 读取所有标签(多个)
html_string = """<div>
      <h1 class="item">洪七公</h1>
      <ul class="item">
          <li>篮球</li>
          <li>足球</li>
      </ul>
      <div id='x3'>
          <span>5xclass.cn</span>
          <a href="www.xxx.com" class='info'>pythonav.com</a>
          <span class='xx1'>洪七公</span>
      </div>
  </div>"""
  
  from bs4 import BeautifulSoup
  
  soup = BeautifulSoup(html_string, features="html.parser")
  tag_list = soup.find_all(name="li")
  print(tag_list)
  
  # 输出
  # [<li>篮球</li>, <li>足球</li>]
html_string = """<div>
      <h1 class="item">洪七公</h1>
      <ul class="item">
          <li>篮球</li>
          <li>足球</li>
      </ul>
      <div id='x3'>
          <span>5xclass.cn</span>
          <a href="www.xxx.com" class='info'>pythonav.com</a>
          <span class='xx1'>武沛齐</span>
      </div>
  </div>"""
  
  from bs4 import BeautifulSoup
  
  soup = BeautifulSoup(html_string, features="html.parser")
  tag_list = soup.find_all(name="li")
  for tag in tag_list:
      print(tag.text)
  
  # 输出
  篮球
  足球

3.案例:X车网

获取所有的汽车品牌列表。

https://car.yiche.com/

import requests
from bs4 import BeautifulSoup

res = requests.get(url="https://car.yiche.com/")

soup = BeautifulSoup(res.text, features="html.parser")
tag_list = soup.find_all(name="div", attrs={"class": "item-brand"})
for tag in tag_list:
    print(tag.attrs['data-name'])
import requests
from bs4 import BeautifulSoup

res = requests.get(url="https://car.yiche.com/")

soup = BeautifulSoup(res.text, features="html.parser")
tag_list = soup.find_all(name="div", attrs={"class": "item-brand"})
for tag in tag_list:
    child = tag.find(name='div', attrs={"class": "brand-name"})
    print(child.text)

4.案例:网易云音乐

采集标签+图片下载:

import requests
from bs4 import BeautifulSoup

res = requests.get(
    url="https://music.163.com/discover/playlist/?cat=%E5%8D%8E%E8%AF%AD",
    headers={
        "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.0.0 Safari/537.36",
        "Referer": "https://music.163.com/"
    }
)

soup = BeautifulSoup(res.text, features="html.parser")

parent_tag = soup.find(name='ul', attrs={"id": "m-pl-container"})

for child in parent_tag.find_all(recursive=False):
    title = child.find(name="a", attrs={"class": "tit f-thide s-fc0"}).text
    image_url = child.find(name='img').attrs['src']
    print(title, image_url)

    # 每个封面下载下来
    img_res = requests.get(url=image_url)
    file_name = title.split()[0]
    with open(f"{file_name}.jpg", mode='wb') as f:
        f.write(img_res.content)
Python实现:提取HTML文件中的正文 在本篇文章中,我们将介绍如何使用Python编程语言来提取HTML文件中的正文内容。通过以上步骤,我们成功地使用Python提取了HTML文件中的正文内容。提供了强大的HTML解析功能,可以让我们轻松地从HTML中提取所需的内容。一旦我们定位到包含正文的HTML标签,我们就可以提取其中的文本内容。首先,我们需要读取HTML文件的内容。为了定位正文内容,我们需要查找包含正文的HTML标签。在大多数HTML页面中,正文内容通常位于特定的HTML标签中,如。假设我们的HTML文件中的正文内容位于。 阅读详情

相关推荐

RTX 6000 Pro Blackwell 踩坑实录:Qwen3.8-NVFP4 生成 HTML 表格半路截断?元凶竟不是显存

本文复盘了在RTX 6000 Pro Blackwell 96GB显卡上部署Qwen3.8-27B-NVFP4模型时,生成HTML表格中途截断的问题。经排查,主因非显存或上下文限制,而是五类易被忽视因素:1)Dify最大回复长度过小导致token截断;2)NVFP4量化精度不足致结构化输出断裂;3)接口超时、停止词误触发与流式渲染异常;4)HTML标签未闭合引发前端渲染假象;5)极低概率的上下文超限。建议27B级模型优先采用FP8权重,兼顾精度与性能,避免为省显存牺牲生成质量。

2501_93651177的博客 49

推荐 Ruby Readability: 提取网页主要内容的利器

Ruby Readability 是一个基于 Readability 算法实现的 Ruby 库,可以帮助您从复杂、混乱或不友好的 HTML 中提取出主要的内容和元数据,从而更好地呈现给您的用户。 ## 什么是 Ruby Readability? Ruby Readability 是一个针对 Ruby 开发者的库,它实现了 Arc90 公司开发的 Readability 技术。Readabili...

gitblog_00001的博客 1326

西门子828D/840DSL数控机床产量数据采集实战:手把手教你绕过授权限制(附Demo源码)

本文详细介绍了西门子828D/840DSL数控机床产量数据采集的实战技术,包括绕过授权限制的替代方案和实现方法。通过分析通信协议、配置参数和数据处理,提供了一套高效且合规的数据采集解决方案,并附有Demo源码,帮助技术人员快速上手。

weixin_28278377的博客 762

Python中bs4如何提取嵌套标签中的某段文本

在当今这个信息爆炸的时代,数据无处不在,而从网页中提取有价值的信息成为了一项重要的技能。Beautiful Soup(简称bs4)作为Python中最强大的HTML和XML解析库之一,无疑是数据抓取和网页解析的利器。然而,面对复杂的嵌套标签结构,如何高效准确地提取所需文本呢?本文将带你深入了解bs4在处理嵌套标签时的强大功能,以及一些实用技巧,帮助你在数据挖掘的道路上更进一步。

yjq125931902的博客 829

逆变器技术解析:DDSRF双解耦在正负序分离中的关键作用

本文深入解析了DDSRF双解耦技术在逆变器正负序分离中的关键作用。通过建立正反旋转坐标系并利用交叉反馈解耦网络,DDSRF能快速、精准地分离电网电压中的正负序分量,从而显著提升锁相环在电网不平衡条件下的精度与系统稳定性,是现代高性能并网逆变器的核心算法之一。

m3n5b7v8c9x的博客 408

关于笔记本测试的面试准备 2021-10-11

** 关于笔记本测试的面试准备 ** 一、根据JD分析,工作内容以软测为主,硬件知识需要了解一点。 以下几个问题为主要: 1.了解VGA、audio、wlan、bt、TP 、camera等driver,BIOS和image测试。 2.了解性能测试工具?压力测试相关设置? 3.了解preload流程? 二、解决 VGA: video graphics array ——笔记本上外接显示器的接口。 【VGA接口兼容性更强,但是不支持高分辨率。 支持高分辨率:HDMI、DIV、TP】 bt【Bluetooth

xw_009的博客 1865

python提取html中一段字符_python如何提取字符串?

在Python中,要提取文本的字符串,有多中方法,如使用正则表达式,BeautifulSoup或Xpath等来提取。下面讲解用正则表达式来提取字符串。一、单个位置的字符串提取这种情况我们可以使用(.+?)这个正则表达式来提取。 举例,一个字符串"a123b",如果我们想提取ab之间的值123,可以使用findall配合正则表达式,这样会返回一个包含所以符合情况的list。代码如下:import r...

weixin_39924674的博客 769

Linux -- 图形界面配置Samba;system-config-samba工具

图形界面配置Samba6.6.1 system-config-sambasystem-config-samba是Red Hat公司专门为Samba服务器管理编写的图形界面的管理工具,通过system-config-samba几乎可以完成对Samba服务器的所有配置,所以在只希望通过Samba服务器实现一些简单的资源共享时,system-config-samba是一个不错的选...

weixin_33695450的博客 2200

【Python爬虫开发基础⑤】HTML概述与基本标签详解

HTML(Hypertext Markup Language)是一种标记语言,用于创建和呈现网页。它是构建网页的基础,并且具有简单易学的语法规则。HTML以标签为基本单位,通过嵌套和属性来描述和格式化网页上的内容和结构。HTML最初由蒂姆·伯纳斯-李(Tim Berners-Lee)在1990年创造,旨在促进信息共享和互联网上各种文档之间的链接。如今,HTML成为了万维网的核心技术之一,被广泛应用于网页制作、网站开发和跨平台内容交互等领域。内容(结构):是我们在页面中可以看到的数据。我们称之为内容。

z135733的博客 3885

单片机NTC热敏电阻测温:六种实用电路方案与选型指南

本文详细介绍了单片机系统中NTC热敏电阻测温的六种实用电路方案,包括分压法、恒流源法、RC充放电法、电桥法、频率法及集成专用IC方案,并提供了关键的硬件选型指南和软件处理技巧,帮助工程师实现高精度、低成本的温度测量。

herb5的博客 816

把核心变干净的代价与回报:为什么推动 Clean Core,几乎绕不开 SAP Integration Suite 与 API Management

Clean Core的核心价值在于构建可持续升级的ERP系统架构,其关键不在于减少代码或限制扩展,而是通过解耦和治理实现系统边界的清晰划分。这一理念将推动企业从传统的"私搭乱建"式集成向平台化工程转型,而SAP Integration Suite和API Management正是实现这一转型的核心组件。 Integration Suite作为集成中枢,通过统一平台、可复用内容库和事件驱动架构,将碎片化连接转变为标准化能力;API Management则负责建立接口治理体系,通过统一入口、

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 241

HTML与CSS基础第八课—HTML 中如何展示图片

img src="地址" alt="替代文字">。img是空元素,没有结束标签,不要写</img>。src的写法和上一篇链接地址相同。同一文件夹写cover.png,子文件夹写,上一级写,另一台服务器写完整的https://地址。图没出现时,先看它最后拼出来的地址,和链接打不开时一样。alt是替代文字,不是图片标题,也不出现在图的旁边。图能显示时,读者看见图。图加载失败,或者读屏软件不看图、只读文字时,用的就是这句。句子要写出这张图在告诉读者什么。

专注大前端领域,持续分享React、Vue、React-Native、Flutter、跨端等领域内容 199

FCC 首个扫地机器人豁免落地,Matic 凭什么抢先?

Matic获FCC首个扫地机器人豁免,实为提前布局的合规姿态。其产品在美国组装,并采用已认证射频模组,虽未达65%美国成分门槛,但已具备“本土制造”优势。豁免本质是对既有合规状态的确认,而非解救。此举在商业上放大品牌价值,抢占“安全、合规、本土”叙事高地,凸显供应链安全正取代技术标准成为监管核心。未来合规成本将攀升,规则主导权仍在FCC手中。

致力于lidar应用开发 97

HTML与CSS基础第七课—HTML 中的a标签(跳转链接)

a href="地址">链接文字</a>。链接文字放在开始标签和结束标签之间,写成点开以后能去的地方。a放在p里面,它不自己另起一段。a写上href才是能点的链接。不写href,字还在,点了不跳转。不写target,在当前页打开。在新窗口打开,原来这一页留着。https://是另一台服务器。同一文件夹写文件名,子文件夹写,上一级写../。本地直接打开文件时,从磁盘根目录算起。页内跳转先给目标一个唯一的id,链接写成href="#这个id"。名字对不上,就到不了。

专注大前端领域,持续分享React、Vue、React-Native、Flutter、跨端等领域内容 498

台球 PCOL:极致物理还原的网页斯诺克引擎(附源码深度解析)

*完整源码地址**:[https://github.com/billiards/pcol-core](https://github.com/billiards/pcol-core)(包含详细文档与示例)通过这个项目,我们不仅创建了一个游戏,更构建了一个**可扩展的物理引擎框架**,为网页端复杂物理模拟开辟了新的可能性。**在线体验**:[https://pcol.billiards](https://pcol.billiards)(支持移动端触控操作)clone.velocity.x *= -0.92;

Loving_enjoy的博客 2796

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

GPT Image 2 出的 UI 图如何转成 HTML 和可编辑 Figma

AI 生成的 UI 图,本身只是起点。用 Codex 或 Claude Code 把它变成 HTML,就有了能演示的页面;用 html.to.design 把 HTML 导回 Figma,就有了能沉淀的设计源文件;用 Codia 直接把图转成 Figma,则适合只要设计稿、追求速度的场景。三条链路互相补充,组合起来就形成了"图、代码、设计稿"之间的闭环。同时也要清楚它的边界:单张位图缺少精确数值,像素级还原目前还做不到稳定;图里的文字和图标需要人工把关。

JEECG官方博客 194

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

开源项目推荐:2027 高考志愿填报指北|开源单页 HTML 高报资料工具书

高考志愿填报信息量大、维度多,考生与家长往往面临资料零散、信息不对称、优质内容收费门槛高等问题。《2027 高考志愿填报指北》是雪人老师开源的高报笔记资料汇编,将 683 篇、280.5 万字的原创笔记整合为单页 HTML 电子书,覆盖专业、院校、城市、填报攻略四大板块。支持左侧折叠导航、快速跳转、浏览器原生 A4 打印,可在线阅读也可本地保存使用,采用 CC BY-NC 4.0 协议开源,非商业场景可自由传播改编,是高考志愿填报阶段实用的免费参考工具书。关键词:高考志愿填报;高报资料;开源电子书;

Admans的专栏 272

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

保姆级 | CTF Lemon:禁用右键/F12 怎么破?查看源码 + HTML 注释拿 flag

这道题表面上“右键被禁用、F12 被禁用”,看起来没法看源码,但这些限制都只是网页里的 JavaScript 搞的鬼。本文会讲清楚它是怎么禁用的、为什么这种限制不可靠,以及如何一键绕过拿到 flag。本题完整链路:页面用 JS 拦截右键/F12 → 用Ctrl+U或 curl 绕过 → 在 HTML 末尾注释里找到 flag。禁用右键(contextmenu)和 F12(keydown)都是前端 JS,靠实现;前端限制运行在用户浏览器,可被绕过,不可作为安全手段;绕过首选Ctrl+U。

YY888888_的博客 356

Web端3D模型加载实战指南_Vue3_uni-app_HTML

很多同学一上来就问"uni-app 怎么加载 3D 模型",结果折腾三天发现方案根本不适用于自己的端。动手前先把下面这张表看完。结论:Web 端一律优先用 。 它是 Khronos 官方标准,被 three.js、model-viewer、微信小程序 XR-Frame 等所有主流方案原生支持,且是单文件,不涉及跨域、相对路径、资源丢失这些烦心事。免费模型资源站:Sketchfab、Poly Haven、Khronos glTF-Sample-Assets(官方示例模型,测试首选)。上线前必做的瘦身动作(一个

qq_19716091的博客 225

纯静态HTML项目文件打包成war包

纯静态HTML项目文件打包成war包

bjzhang75的博客 197

热榜上手|HyperFrames:写HTML出MP4

HeyGen 开源的 TypeScript 视频框架:把 HTML、CSS 动画直接渲染成确定性 MP4,专为 AI agent 批量出片设计,单周涨 5633 star。

mihuyang的博客 245

前端三剑客与 HTML 核心标签

前端是项目的门面。这篇文章把 HTML 的骨架作用、常用标签的专属属性、iframe 嵌套、锚点定位、表格与表单逐项拆开,最后落到「一个标签的属性能干什么」这个最实际的问题上。

2401_89953644的博客 235

用VBA调用Python脚本抽取Word文档表格HTML

本文通过使用VBA调用Python脚本抽取Word文档中的表格的等价HTML表结构代码,演示了VBA调用Python脚本以及获取Python节本输出的方法。

yivifu的专栏 169

OpenCode v2.2 Artifacts 实战:让 Agent 交付可预览 HTML、插件存储与发布治理

OpenCode v2.2.4 新增实验性的 Artifacts 能力,Agent 可以创建、读取、更新、删除并预览 HTML 或静态制品。本文从启用配置、四类核心工具、本地 Provider、插件存储、版本化更新、预览验收到安全与发布治理,给出一套把“代码生成”升级为“可查看、可验收、可追溯交付”的团队实践。

jerry764的博客 396

Nginx出向代理实战系列:安全部门只允许开放点对点SNAT、目标用CDN导致IP动态变化怎么办,网络通却返回HTML踩坑复盘

本文复盘了一次复杂的Nginx出向代理实战:面对CDN动态IP、安全策略限制及七层请求不规范三大难题,通过网络层放宽(支持域名解析)、应用层收紧(硬编码location+白名单逻辑)实现安全隔离;针对“通而不畅”问题,补全Host透传、标准Header与HTTPS配置,最终解决CDN返回HTML而非JSON的典型七层瓶颈。核心启示:网络通≠业务通,外网代理必须满足CDN鉴权要求,安全与业务需在约束中寻找最优解。

个人站点:https://www.heimajinpai.cn/ 489

HTML与CSS基础第十课—HTML的 div 和 span 标签

div和span都表示包住一块东西。但是,从使用场景上看,div一般包裹的是一组结构,而span一般包裹的是一个句子里的几个字。在真正的浏览器里,div和spandiv是块级元素,span是行内元素。什么是块级元素、什么是行内元素,这个概念后面会讲。divspan包住什么一组内容,例如一个标题加一段话一句话里的几个字自己占不占一块占一块,从新的一行开始不占一块,留在行内自己表示什么角色不表示不表示class写在开始标签里,用来给这些普通容器起名字。span同样可以加class,它和。

专注大前端领域,持续分享React、Vue、React-Native、Flutter、跨端等领域内容 406
上一篇: python记录:高清图片提取
语欣语涵
博客等级 码龄16年 82粉丝 8原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值