2009-01-20 35 views

回答

34

也许像这样的工作吗? (我没有在我面前一个Python解释器,不幸)

from BeautifulSoup import BeautifulSoup 
soup = BeautifulSoup('<p>Blah blah blah <a href="http://google.com">Google</a></p>') 
for a in soup.findAll('a'): 
    a['href'] = a['href'].replace("google", "mysite") 

result = str(soup) 
+0

非常感谢。有几个问题,但我认为那是因为你没有机会测试。很棒。 :-) – 2009-01-20 03:10:36

25
from BeautifulSoup import BeautifulSoup 
soup = BeautifulSoup('<p>Blah blah blah <a href="http://google.com">Google</a></p>') 
for a in soup.findAll('a'): 
    a['href'] = a['href'].replace("google", "mysite") 
print str(soup) 

这是Lusid的解决方案,但由于他没有在他面前Python解释,他不能够测试它,它有一些错误。我只是想发布工作条件。感谢Lusid!

+2

您可能想要检查您正在测试的a元素没有href的蹩脚HTML边界情况。 – 2009-01-20 03:16:56

2

我想这和它的工作,它更容易避免使用正则表达式匹配每个'href'

检查出来,在bs4 docs

相关问题