我需要能够修改HTML文档中的每一个链接。我知道我需要使用SoupStrainer
,但我不完全肯定如何实施它。如果有人能指导我一个很好的资源或提供一个代码示例,它将非常感激。BeautifulSoup - 修改一段HTML中的所有链接?
谢谢。
我需要能够修改HTML文档中的每一个链接。我知道我需要使用SoupStrainer
,但我不完全肯定如何实施它。如果有人能指导我一个很好的资源或提供一个代码示例,它将非常感激。BeautifulSoup - 修改一段HTML中的所有链接?
谢谢。
也许像这样的工作吗? (我没有在我面前一个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)
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!
您可能想要检查您正在测试的a元素没有href的蹩脚HTML边界情况。 – 2009-01-20 03:16:56
我想这和它的工作,它更容易避免使用正则表达式匹配每个'href'
:
检查出来,在bs4 docs。
非常感谢。有几个问题,但我认为那是因为你没有机会测试。很棒。 :-) – 2009-01-20 03:10:36