Python 从从网站提取的下拉列表中提取选项

Python 从从网站提取的下拉列表中提取选项,python,parsing,html-parsing,beautifulsoup,Python,Parsing,Html Parsing,Beautifulsoup,几个小时来,我一直试图解决这个问题,但没有成功,需要一些帮助。我使用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

几个小时来,我一直试图解决这个问题,但没有成功,需要一些帮助。我使用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>
Foo
Bar
Bacon

就这样。提前感谢您的帮助。

根据您的上述评论,我建议使用任何与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方法文档来查找HTML中的所有选项标记。现在,当我们迭代时,我们正在迭代标记对象,它们有自己的特殊属性/方法。在这里,我们选择其中一个。text显示标记元素的文本,在本例中,它将是标记中包含的文本。

您能发布您到目前为止尝试过的内容吗?我是一个初学者。。。据我所知,我在谷歌上搜索StackOverflow,查找诸如解析HTML、用Python解析HTML、从下拉列表中提取选项等内容。我找到了一堆有趣的东西BeautifulSoup、Scrapy、YouTube视频等,并编写了一些伪代码,但我有点迷失了方向。累了,现在要睡觉了。我很抱歉,如果我张贴在我的斗争太早。为了让大家了解我的水平,我在半路上扔了一本关于Python的新入门书。Thks.+1关于不使用正则表达式解析HTML的部分:@JoelCornett哈,我想知道那篇文章“拯救”了多少人,我当然是其中之一:。非常感谢@RocketDonkey!这解决了我的问题,给了我学习的动力。作为一个或多个练习,我将扩展您发布的用于处理文件、数据结构和迭代器的内容。从那里,我将做一些BeautifulSoup教程和文档阅读。看起来非常强大和实用。无论如何,再次感谢:“克里斯科根本没有问题,乐于助人:有一件事对你来说很有趣,那就是获得一个基本的美景汤知识,继续你的研究到数据结构等,然后回到BeautifulSoup后,你有一个坚实的基础。然后你就可以深入研究到底发生了什么“标签到底是什么?”?“我怎样才能创建自己的标签?”并打开一个全新的理解层次。你会玩得很开心: