使用 Python 从解析的 HTML 中提取文本

2024-03-18

我是Python新手,我一直在尝试使用已用BeautifulSoup解析的正则表达式搜索html。我没有取得任何成功,我认为原因是我不完全理解如何正确设置正则表达式。我看过有关类似问题的旧问题,但我仍然没有弄清楚。如果有人可以提取“/torrent/32726/0/”和“Slackware Linux 13.0 [x86 DVD ISO]”以及正则表达式如何工作的详细表达式,那将非常有帮助。

<td class="name">
  <a href="/torrent/32726/0/">
   Slackware Linux 13.0 [x86 DVD ISO]
  </a>
 </td>

编辑:我的意思是,我试图使用 BeautifulSoups 函数来搜索解析树来提取“/torrent/32726/0/”和“Slackware Linux 13.0 [x86 DVD ISO]”。在搜索和阅读文档后,我一直在尝试各种方法,但我仍然不确定如何去做。


BeautifulSoup 还可以从 html 中提取节点值。

from BeautifulSoup import BeautifulSoup

html = ('<html><head><title>Page title</title></head>'
       '<body>'
       '<table><tr>'
       '<td class="name"><a href="/torrent/32726/0/">Slackware Linux 13.0 [x86 DVD ISO]</a></td>'
       '<td class="name"><a href="/torrent/32727/0/">Slackware Linux 14.0 [x86 DVD ISO]</a></td>'
       '<td class="name"><a href="/torrent/32728/0/">Slackware Linux 15.0 [x86 DVD ISO]</a></td>'
       '</tr></table>'
       'body'
       '</html>')
soup = BeautifulSoup(html)
links = [td.find('a') for td in soup.findAll('td', { "class" : "name" })]
for link in links:
    print link.string

Output:

Slackware Linux 13.0 [x86 DVD ISO]  
Slackware Linux 14.0 [x86 DVD ISO]  
Slackware Linux 15.0 [x86 DVD ISO]  
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 Python 从解析的 HTML 中提取文本 的相关文章

  • 跟踪 pypi 依赖项 - 谁在使用我的包

    无论如何 是否可以通过 pip 或 PyPi 来识别哪些项目 在 Pypi 上发布 可能正在使用我的包 也在 PyPi 上发布 我想确定每个包的用户群以及可能尝试积极与他们互动 预先感谢您的任何答案 即使我想做的事情是不可能的 这实际上是不
  • 如何转义 HTML 字符?在.NET中-->“

    如何在 NET 中转义 HTML 字符 我正在从 json 字符串中获取 html 并在标题中得到 amp quot more text 看起来我需要做两次才能得到 amp quot 成为 quot 那么它就是一个 如何转义 NET 中的所
  • 如何在 select 和 option 标签中添加 JSON 数据?

    我有这个html代码 div class searchfilter div class searchwrapper div div
  • 在Python中连接反斜杠

    我是 python 新手 所以如果这听起来很简单 请原谅我 我想加入一些变量来生成一条路径 像这样 AAAABBBBCCCC 2 2014 04 2014 04 01 csv Id TypeOfMachine year month year
  • 如何在 Python 中解析和比较 ISO 8601 持续时间? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我正在寻找一个 Python v2 库 它允许我解析和比较 ISO 8601 持续时间may处于不同单
  • 在Python中检索PostgreSQL数据库的新记录

    在数据库表中 第二列和第三列有数字 将会不断添加新行 每次 每当数据库表中添加新行时 python 都需要不断检查它们 当 sql 表中收到的新行数低于 105 时 python 应打印一条通知消息 警告 数量已降至 105 以下 另一方面
  • 如何使跨度标签不可删除?

    我正在尝试使 contenteditable div 内的跨度标记不可删除 div Editable span Read Only span div 只读范围确实是只读的 但我可以通过单击删除键来删除整个范围 有没有一种属性方法可以告诉sp
  • 电话输入自动填充会删除国际前缀

    我有一个类型为 tel 的输入字段 并启用了自动完成功能
  • 加快网络抓取速度

    我正在使用一个非常简单的网络抓取工具抓取 23770 个网页scrapy 我对 scrapy 甚至 python 都很陌生 但设法编写了一个可以完成这项工作的蜘蛛 然而 它确实很慢 爬行 23770 个页面大约需要 28 小时 我看过scr
  • 如何使用原始 SQL 查询实现搜索功能

    我正在创建一个由 CS50 的网络系列指导的应用程序 这要求我仅使用原始 SQL 查询而不是 ORM 我正在尝试创建一个搜索功能 用户可以在其中查找存储在数据库中的书籍列表 我希望他们能够查询 书籍 表中的 ISBN 标题 作者列 目前 它
  • Pandas 将多行列数据帧转换为单行多列数据帧

    我的数据框如下 code df Car measurements Before After amb temp 30 268212 26 627491 engine temp 41 812730 39 254255 engine eff 15
  • 为什么 Pickle 协议 4 中的 Pickle 文件是协议 3 中的两倍,而速度却没有任何提升?

    我正在测试 Python 3 4 我注意到 pickle 模块有一个新协议 因此 我对 2 个协议进行了基准测试 def test1 pickle3 open pickle3 wb for i in range 1000000 pickle
  • 如何在画布上所有其他内容后面绘制图像? [复制]

    这个问题在这里已经有答案了 我有一块画布 我想用drawImage在画布上当前内容后面绘制图像 由于画布上已经有内容 我正在使用字面上的画布来创建包含图像的画布 因此我无法真正先绘制图像 所以我无法使用drawImage在我呈现其余内容之前
  • CSS 精灵按钮

    这些精灵按钮让我抓狂 我几乎可以让他们工作 但不完全是 我正在玩这个非常简单的精灵图像 我有一个 jsfiddle 项目 gt gt 这里 如果你想看的话 但如果你只想看一下 代码就在下面 http jsfiddle net jp2code
  • Service Worker 与 Shared Worker

    Service Worker 和 Shared Worker 有什么区别 我什么时候应该使用 Service Worker 而不是 Shared Worker 反之亦然 Service Worker 具有共享 Worker 之外的附加功能
  • 在本地网络上运行 Bokeh 服务器

    我有一个简单的 Bokeh 应用程序 名为app py如下 contents of app py from bokeh client import push session from bokeh embed import server do
  • Django-tables2 列总计

    我正在尝试使用此总结列中的所有值文档 https github com bradleyayers django tables2 blob master docs pages column headers and footers rst 但页
  • 如何计算Python中字典中最常见的前10个值

    我对 python 和一般编程都很陌生 所以请友善 我正在尝试分析包含音乐信息的 csv 文件并返回最常听的前 n 个乐队 从下面的代码中 每听一首歌曲都是一个列表中的字典条目 格式如下 album Exile on Main Street
  • 使用 z = f(x, y) 形式的 B 样条方法来拟合 z = f(x)

    作为一个潜在的解决方案这个问题 https stackoverflow com questions 76476327 how to avoid creating many binary switching variables in gekk
  • Kivy - 单击按钮时编辑标签

    我希望 Button1 在单击时编辑标签 etykietka 但我不知道如何操作 你有什么想法吗 class Zastepstwa App def build self lista WebOps getList layout BoxLayo

随机推荐

  • 在 Spring 中添加 Jaxb2 消息转换器会破坏 Jackson2 json 映射

    我正在尝试让我的 Spring Rest 应用程序可以处理 xml 和 json 响应 但似乎添加 Jaxb 消息转换器破坏了我的 json 映射 Bean public MappingJackson2HttpMessageConverte
  • git show commit 无法比较

    我希望在 Beyond Compare 或任何其他单独的 diff 工具中查看特定提交 同时通过以下方式查看它git show 我尝试查看 git show difftool config 的帮助 但找不到任何内容 有谁知道如何做到这一点
  • 如何在 JavaScript 中使用 CryptoJS

    I used CryptoJS https github com brix crypto js代替nodejscrypto 模块 因为我只使用原生 JavaScript 但有些代码无法运行 function aesEncrypt text
  • 获取当前年份的最后一天作为日期

    如何使用 PHP 获取当年的最后一天 12 月 31 日 作为日期 我尝试了以下方法 但这不起作用 year date Y yearEnd strtotime year 12 31 我需要的是一个看起来像今年 2014 12 31 的日期
  • 当用户被禁用或删除时,Firebase 身份验证状态更改不会触发

    幕后花絮 我在用Firebase 身份验证在我的 Android 应用程序中使用 Google Facebook 和电子邮件 密码注册 加入用户 到目前为止 除了单个场景之外 几乎一切都运行良好 场景 我需要disable or delet
  • 异常 - 在线程“main”中 java.lang.ArrayIndexOutOfBoundsException

    public class Sum public static void main String args int x y s x Integer parseInt args 0 y Integer parseInt args 1 s x y
  • Java:找不到符号? [复制]

    这个问题在这里已经有答案了 当我尝试编译一个我编写的小程序来构建一副纸牌数组并打印它们时 我收到 6 个错误 所有这些错误都是 找不到符号 错误 有人可以检查我的代码并找出错误吗 谢谢 编译输出 sudhakar sudhakar Dell
  • C++ 中的“矢量擦除迭代器超出范围”

    在此 C 代码中 我尝试删除向量末尾的元素 但程序停止并且我收到消息 Expression vector erase iterator outside range 问题是什么 毕竟 通过这段代码 向量是指针向量 还是我在 Push back
  • 如何在 MvvmCross 中指定要作为 Modal 推送的视图?

    我在使用 MvvmCross 框架的 MonoTouch 应用程序中有一个视图 我希望显示模态 NavigationController PresentModalViewController MvvmCross 的前提是所有 ViewMod
  • C# WPF子窗口(关于窗口)

    我有一个正在开发的 C WPF 应用程序 我有一个名为About这应该打开一个新窗口 其中包含有关应用程序或我将放入其中的任何内容的详细信息 当我单击 btn 时 会打开一个新窗口 关于 当我再次单击时 当新窗口 关于 打开时 会打开另一个
  • 正则表达式查找所有以 = 开头并以 & 结尾的字符串

    我需要在大量文本中找到 和 符号之间的所有字符串 我不希望结果字符串包含 和 只包含它们之间的内容 如果您的正则表达式引擎支持lookbehinds lookaheads lt 否则使用这个 并捕获捕获组 1 如果您的正则表达式引擎不支持非
  • 在哪里可以找到“lib-dynload”中模块的源代码?

    许多内置库尽可能使用 C 实现 例如 heapq uses lib dynload heapq so如果有的话 我在哪里可以找到类似模块的源代码 heapq 要查看任何版本的 CPython 的代码 请访问 http hg python o
  • python pandas 从项集到数据框

    从项目集列表中获取更具可扩展性的方法是什么 itemset a b b c d a c d e d a b c a b c d 对于这种类型的数据框 gt gt gt df a b c d e 0 1 1 0 0 0 1 0 1 1 1 0
  • 如何从 python 中具有重复字段的列表中删除字典?

    假设我有一个字典列表 我将 重复项 定义为列表中 id 字段具有相同值的任意两个字典 即使其他字段不同 我如何删除这些重复项 一个示例列表类似于 name John id 1 name Mike id 5 name Dan id 5 在这种
  • 如何在图像地图之上创建 html 工具提示?

    我有以下代码 div style width 100 align center img src platform logos big png alt Icons of platforms we support Windows Linux a
  • 使用 Objective-C 从 PDF 中提取可编辑字段

    我已经研究在我的 iOS 应用程序中使用 PDF 一段时间了 我已经解决了一些难题 例如扫描操作员并在 UIWebView 中显示 PDF 然而 我真正需要做的是确定可编辑字段在 PDF 文档中 理想情况下 我希望能够直接与这些领域进行交互
  • Gstreamer Appsink 未从管道获取数据

    我正在设计一个管道 将来自 opencv 应用程序 从网络摄像头获取 的视频帧编码为 video x h264 格式 通过网络发送并在另一台不同类型的设备 可能是树莓派 上将其解码到适合我的项目的 RGB 流 为此 我应该使用硬件加速编码器
  • 如何使用Openlayers地图

    我对这个 openlayers 地图完全困惑了 即使有很多例子和维基 我也找不到如何重用它 我的意思是我想显示我的城市地图 可由管理员管理 管理员可以添加点和位置 并且它应该显示在前端 请帮我看看该怎么做 Like Conley写道 开放层
  • Java SWT 应用程序 - 置于前台

    我目前正在 Windows 7 上开发 SWT java 应用程序 通常应用程序将最小化 当串行端口上有事件时 应用程序应最大化自身 以下代码执行最大化部分 private void bringToFront final Shell she
  • 使用 Python 从解析的 HTML 中提取文本

    我是Python新手 我一直在尝试使用已用BeautifulSoup解析的正则表达式搜索html 我没有取得任何成功 我认为原因是我不完全理解如何正确设置正则表达式 我看过有关类似问题的旧问题 但我仍然没有弄清楚 如果有人可以提取 torr