无法在beauthulsoup中获取正确的链接

2024-04-25 20:59:25 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图解析一点HTML,我想提取与特定模式匹配的链接。我使用的是带有正则表达式的find方法,但它没有给我正确的链接。这是我的片段。有人能告诉我我做错了什么吗?在

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> &ndash; 
    <a target="_blank" href="http://www.imdb.com/title/tt1196141/">IMDB</a> &ndash; 
</div>
"""

soup = BeautifulSoup(html)
print soup.find('a', href = re.compile(r".*title/tt.*"))['href']

我应该得到第二个链接,但是BS总是返回第一个链接。第一个链接的href甚至与我的regex不匹配,所以它为什么要返回它?在

谢谢。在


Tags: importdivrecomhttptarget链接html
2条回答

无法回答您的问题,但无论如何,您(最初)发布的代码存在导入错误。改变

import BeautifulSoup

^{pr2}$

然后,您的输出(使用beautifulsoup版本3.1.0.1)将是:

http://www.imdb.com/title/tt1196141/

find只返回第一个<a>标记。你想要^{}。在

相关问题 更多 >