【发布时间】:2010-07-23 08:11:52
【问题描述】:
我正在尝试解析一些 HTML,我想提取与特定模式匹配的链接。我正在使用带有正则表达式的find 方法,但它没有给我正确的链接。这是我的sn-p。谁能告诉我我做错了什么?
from BeautifulSoup import BeautifulSoup
import re
html = """
<div class="entry">
<a target="_blank" href="http://www.rottentomatoes.com/m/diary_of_a_wimpy_kid/">RT</a>
<a target="_blank" href="http://www.imdb.com/video/imdb/vi2496267289/">Trailer</a> –
<a target="_blank" href="http://www.imdb.com/title/tt1196141/">IMDB</a> –
</div>
"""
soup = BeautifulSoup(html)
print soup.find('a', href = re.compile(r".*title/tt.*"))['href']
我应该得到第二个链接,但 BS 总是返回第一个链接。第一个链接的href 甚至与我的正则表达式都不匹配,为什么它会返回它?
谢谢。
【问题讨论】:
-
我已从 BeautifulSoup 导入 BeautifulSoup 进行更正。如果没有,它不应该工作。然后它返回第三个链接。我认为它工作正常。
-
由于某种原因它似乎不起作用。它总是给出第一个链接 -
http://www.rottentomatoes.com/m/diary_of_a_wimpy_kid/ -
它也适用于我(BS v3.1.0.1)。我得到了第三个链接。你的版本是什么?
标签: python beautifulsoup