使用SoupStrainer选择性解析

2024-01-13

我正在尝试解析购物网站上的视频游戏标题列表。然而,由于项目列表全部存储在标签内。

This http://www.crummy.com/software/BeautifulSoup/documentation.html#Improving%20Performance%20by%20Parsing%20Only%20Part%20of%20the%20Document文档的部分据说解释了如何仅解析文档的一部分,但我无法解决。我的代码:

from BeautifulSoup import BeautifulSoup
import urllib
import re

url = "Some Shopping Site"
html = urllib.urlopen(url).read()
soup = BeautifulSoup(html)
for a in soup.findAll('a',{'title':re.compile('.+') }):
    print a.string

目前打印任何具有非空标题引用的标签内的字符串。但它也对侧栏中的“特价”商品进行了定价。如果我只能拿产品列表div,我会一石二鸟。

非常感谢。


天哪,我很傻,我正在搜索属性 id = products 的标签,但它应该是product_list

如果有人来搜索的话,这是最终的代码。

from BeautifulSoup import BeautifulSoup, SoupStrainer
import urllib
import re


start = time.clock()
url = "http://someplace.com"
html = urllib.urlopen(url).read()
product = SoupStrainer('div',{'id': 'products_list'})
soup = BeautifulSoup(html,parseOnlyThese=product)
for a in soup.findAll('a',{'title':re.compile('.+') }):
      print a.string
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用SoupStrainer选择性解析 的相关文章

随机推荐

  • 使用另一个bat文件中的变量创建一个bat文件

    我想创建一个bat文件 其中包含另一个bat文件中的设置变量 这是针对初创公司的 bat文件映射网络驱动器并将一些文件复制到本地计算机并查看需要运行的系统服务 它还需要在每次登录 bat 文件运行时创建一个日志文件 这是我所做的示例 ECH
  • 好主意/坏主意?在一小部分子查询结果之外使用 MySQL RAND()?

    因此 在 MySQL 中 我读到 对于包含大量行的大型表 使用 ORDER BY RAND 是一个坏主意 即使有大约 500 行表 缓慢且低效 大量的行扫描 这 下 看起来如何作为替代方案 SELECT FROM 通常返回少于 20 行的集
  • 无法在 Colab 中导入 ToTensorV2

    from albumentations pytorch transforms import ToTensorV2 我使用了上面的代码 但它不起作用 只需添加一个带有以下行的代码块 pip install albumentations 0 4
  • 使用值进行条件格式设置时出现错误的单元格

    当我使用公式创建新规则时 我经常在 Excel 2010 上遇到问题 该问题在我的几台计算机上都可以重现 我选择多个单元格 例如 A4 B143 然后使用以下公式之一创建新规则 A4 issue A4 issue 然后按 Enter 键 当
  • 将 CSV 文件导入 Java

    在我正在编写的程序中 我希望能够导入 CSV 文件 目前 它需要一个基本的文本文件 File mainemails new File mainemails txt 我知道对于 CSV 导入 使用 File 可能不是最省时的方法 导入 CSV
  • 任何类型的数组总是聚合吗?

    class A public A private int i A a 8 C 11 标准 8 5 1 1 说 聚合是一个数组或类 条款 9 没有用户提供的构造函数 12 1 没有非静态数据成员的大括号或等价初始化器 9 2 没有私有或受保护
  • 无法读取架构文档“http://www.springframework.org/schema/beans/spring-beans-3.0.xsd”

    启动我的 Spring 应用程序时 出现以下错误 WARNING Ignored XML validation warning org xml sax SAXParseException schema reference 4 Failed
  • jquery append() 不适用于动态添加的元素

    考虑 HTML ul li Default item li li Default item li ul
  • 与儿童一起定制 Android 控件

    我正在尝试创建一个自定义Android控件 that 包含一个 LinearLayout 您可以将其视为具有精美边框 背景 左侧图像的扩展 LinearLayout 我可以在 XML 中完成这一切 效果很好 但由于我的应用程序中出现了数十次
  • “块”、“块”、“偏移”、“缓冲区”和“扇区”是什么意思?

    我见过一些处理存档或二进制数据或复制文件 不使用 python 默认函数 的脚本chunk or block or offset or buffer or sector 我创建了一个 Python 应用程序 外部库 存档 提取数据 或二进制
  • 在哪里可以下载预编译的 GTK+ 3 二进制文件或 Windows 安装程序? [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我看过 GTK 3 我喜欢它 但不幸的是 从源代码编译从来没有对我有用 有没有像样的二进制文件或者更好的
  • Bash:将所有具有重复值的行保留在 X 列中

    我有一个包含几千行和 20 多列的文件 我现在只想保留第 3 列中与其他行中具有相同电子邮件地址的行 文件 名字 姓氏 电子邮件 Mike Tyson email protected cdn cgi l email protection T
  • 调整大型结构向量大小时的分割错误

    下面的代码生成分段错误 我不明白为什么 下面的代码使用向量来存储多个大型结构 但代码无法运行并生成分段错误 我不明白为什么 我的理解是向量调整大小在堆中分配内存 因此这不应该是堆栈溢出问题 我的系统具有非常大的物理内存 256 GB 并且代
  • WooCommerce:根据运输方式自动完成付款订单

    我有一种产品 人们可以直接打印 运送方式 1 或选择通过运送服务获取 运送方式 2 因此 如果他们选择仅直接打印 送货方式 2 订单应该自动完成 是否可以从 WooCommerce 扩展该代码片段 从我找到的文档中this https do
  • Apache POI - Word (docx) 文档中的多列

    我正在尝试创建一个包含多列的Word文档 这样做 而不是使用表格 的原因是数据将跨越多个页面 并且只有使用列我才能在添加到新页面之前填充整个页面 可以用 Apache POI 来完成吗 谢谢 使用先前创建的具有多列的空文档怎么样 像这样 X
  • 根据条件降序排列

    我想编写一个 LINQ to Entity 查询 它根据输入参数按升序或降序排序 有什么办法吗 以下是我的代码 请建议 public List
  • 当未初始化的内存传递给函数时如何断言/测试

    我遇到过这样的情况 有时发现我的部分代码传递了未初始化的内存 我正在寻找一种在使用调试堆运行时发生这种情况时可以断言的方法 这是一个可以在其他地方抛出的函数 以提供跟踪错误的额外帮助 void foo char data int dataB
  • jqplot、highcharts、flot如何从轴刻度处捕获点击事件

    我希望能够捕获与所有轴刻度挂钩的单击事件 这是我到目前为止所做的 http jsfiddle net grVFk 5074 http jsfiddle net grVFk 5074 如果有人知道如何使用任何图表插件来做到这一点 请分享 th
  • QtToolBar 按钮文本中带有下划线快捷键

    我有一个简单的 Qt 工具栏 带有纯文本按钮Action MainWindow MainWindow QWidget parent QMainWindow parent QToolBar toolBar new QToolBar this
  • 使用SoupStrainer选择性解析

    我正在尝试解析购物网站上的视频游戏标题列表 然而 由于项目列表全部存储在标签内 This http www crummy com software BeautifulSoup documentation html Improving 20P