使用 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 中提取文本 的相关文章

  • 如何等到 Excel 计算公式后再继续 win32com

    我有一个 win32com Python 脚本 它将多个 Excel 文件合并到电子表格中并将其另存为 PDF 现在的工作原理是输出几乎都是 NAME 因为文件是在计算 Excel 文件内容之前输出的 这可能需要一分钟 如何强制工作簿计算值
  • 导航栏下拉菜单(折叠)在 Bootstrap 5 中不起作用

    我在尝试使用以下命令创建响应式菜单或下拉按钮时遇到问题Bootstrap 5一切似乎都正常 导航图标和下拉图标出现 但它不起作用 当我单击nav图标或dropdown按钮 无dropdown menu apears 我想特别提到的是 我还包
  • SQL Alchemy 中的 NULL 安全不等式比较?

    目前 我知道如何表达 NULL 安全的唯一方法 SQL Alchemy 中的比较 其中与 NULL 条目的比较计算结果为 True 而不是 NULL 是 or field None field value 有没有办法在 SQL Alchem
  • 如何使用 Scrapy 从网站获取所有纯文本?

    我希望在 HTML 呈现后 可以从网站上看到所有文本 我正在使用 Scrapy 框架使用 Python 工作 和xpath body text 我能够获取它 但是带有 HTML 标签 而且我只想要文本 有什么解决办法吗 最简单的选择是ext
  • 如何通过单击链接来更改 div 的内容?

    这是我的网页的 修改后的 jsfiddle 它还有很多 而且定位是正确的 与此相反 http jsfiddle net ry0tec3p 1 http jsfiddle net ry0tec3p 1 a href class btn1 st
  • 如何使用装饰器禁用某些功能的中间件?

    我想模仿的行为csrf exempt see here https docs djangoproject com en 1 11 ref csrf django views decorators csrf csrf exempt and h
  • 从列表中的数据框列中搜索部分字符串匹配 - Pandas - Python

    我有一个清单 things A1 B2 C3 我有一个 pandas 数据框 其中有一列包含用分号分隔的值 某些行将包含与上面列表中的一项的匹配 它不会是完美的匹配 因为它在其中包含字符串的其他部分 该列 例如 该列中的一行可能有 哇 这里
  • 使用 Pycharm 在 Windows 下启动应用程序时出现 UnicodeDecodeError

    问题是当我尝试启动应用程序 app py 时 我收到以下错误 UnicodeDecodeError utf 8 编解码器无法解码位置 5 中的字节 0xb3 起始字节无效 整个文件app py coding utf 8 from flask
  • python pandas 中的双端队列

    我正在使用Python的deque 实现一个简单的循环缓冲区 from collections import deque import numpy as np test sequence np array range 100 2 resha
  • Pandas Dataframe 中 bool 值的条件前向填充

    问题 如何转发 fill boolTruepandas 数据框中的值 如果是当天的第一个条目 True 到一天结束时 请参阅以下示例和所需的输出 Data import pandas as pd import numpy as np df
  • HTTPS 代理不适用于 Python 的 requests 模块

    我对 Python 还很陌生 我一直在使用他们的 requests 模块作为 PHP 的 cURL 库的替代品 我的代码如下 import requests import json import os import urllib impor
  • 循环中断打破tqdm

    下面的简单代码使用tqdm https github com tqdm tqdm在循环迭代时显示进度条 import tqdm for f in tqdm tqdm range 100000000 if f gt 100000000 4 b
  • 通过数据框与函数进行交互

    如果我有这样的日期框架 氮 EG 00 04 NEG 04 08 NEG 08 12 NEG 12 16 NEG 16 20 NEG 20 24 datum von 2017 10 12 21 69 15 36 0 87 1 42 0 76
  • 如何从浏览器向服务器发送“页面将关闭”消息?

    我想向每个 html 文档添加一个脚本 JavaScript 该脚本向服务器发送两条消息 页面确实打开了 页面将关闭 此消息包含页面打开的时间 打开消息应在文档加载时 或加载完成时 发送 这是简单的部分 The close message
  • shell中如何分割字符串

    我有一个变量作为 string ABC400p2q4 我怎样才能分开ABC400 and p2q4 我需要将它分成两个变量 结果我得到 echo var1 ABC400 echo var2 p2q4 可以用任何字母字符代替 ABC 可以用任
  • 如何从没有结尾的管道中读取 python 中的 stdin

    当管道来自 打开 时 不知道正确的名称 我无法从 python 中的标准输入或管道读取数据 文件 我有作为例子管道测试 py import sys import time k 0 try for line in sys stdin k k
  • 如何使用google colab在jupyter笔记本中显示GIF?

    我正在使用 google colab 想嵌入一个 gif 有谁知道如何做到这一点 我正在使用下面的代码 它并没有在笔记本中为 gif 制作动画 我希望笔记本是交互式的 这样人们就可以看到代码的动画效果 而无需运行它 我发现很多方法在 Goo
  • Python - 字典和列表相交

    给定以下数据结构 找出这两种数据结构共有的交集键的最有效方法是什么 dict1 2A 3A 4B list1 2A 4B Expected output 2A 4B 如果这也能产生更快的输出 我可以将列表 不是 dict1 组织到任何其他数
  • Python:元类属性有时会覆盖类属性?

    下面代码的结果让我感到困惑 class MyClass type property def a self return 1 class MyObject object metaclass MyClass a 2 print MyObject
  • 改变字典的哈希函数

    按照此question https stackoverflow com questions 37100390 towards understanding dictionaries 我们知道两个不同的字典 dict 1 and dict 2例

随机推荐

  • 在 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