-1

我已经尝试(未成功)解决这个问题几个小时,需要一些帮助。我使用 Firebug 提取了几百行如下所示的 HTML:

<option value="1b4f4aed-cf1f-4b39-ae27">Foo</option>
<option value="1a05f93f-dd51-449d-b039">Bar</option>
<option value="f62d2d29-29fc-4f7c-9331">Bacon</option>

我将这些行保存到一个文本文件中。我想要的是一个(首选 Python,使用 Ruby 作为替代)脚本来打开进程并关闭文件。该处理应导致保存一个新的文本文件,如下所示:

Foo
Bar
Bacon

而已。在此先感谢您的帮助。

4

1 回答 1

2

根据您上面的评论,我建议 BeautifulSoup 与任何与 HTML 相关的内容。由于您处于学习阶段的早期,可能最好将“HTML”与“BeautifulSoup”(而不是正则表达式:))联系起来。这是一个非常基本的例子:

In [1]: from bs4 import BeautifulSoup

In [2]: html = """
<option value="1b4f4aed-cf1f-4b39-ae27">Foo</option>
<option value="1a05f93f-dd51-449d-b039">Bar</option>
<option value="f62d2d29-29fc-4f7c-9331">Bacon</option>
"""

In [3]: soup = BeautifulSoup(html)

In [4]: for option in soup.find_all('option'):
   ...:     print option.text
   ...:     
Foo
Bar
Bacon

在这里,我们将 HTML 传递给BeautifulSoup并将其分配给soup变量。现在我们有一个对象,其中包含我们的 HTML 和大量以用户友好的方式与之交互的方法。在这里,我们使用find_all方法(此处的文档)来查找optionHTML 中的所有标签。现在,当我们迭代时,我们正在迭代Tag对象,这些对象具有自己的特殊属性/方法。在这里,我们选择其中一个 ( .text) 来显示Tag元素的文本(在这种情况下,将是包含在标签中的文本)。

于 2013-01-21T23:36:42.540 回答