如何使用BeautifulSoup一个链接后附加一个标签 [英] How to append a tag after a link with BeautifulSoup
本文介绍了如何使用BeautifulSoup一个链接后附加一个标签的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
从这样一个HTML输入启动:
< P>
< A HREF =http://www.foo.com>这如果富< / A>
< A HREF =http://www.bar.com>这如果巴≤; / A>
&所述; / P>
使用BeautifulSoup
,我想在改变这个网站:
< P>
< A HREF =http://www.foo.com>这如果富< / A>< B>确定< / B>
< A HREF =http://www.bar.com>这如果巴≤; / A>< B>确定< / B>
&所述; / P>
是否有可能做到这一点使用BeautifulSoup?
是这样的:
从BeautifulSoup进口BeautifulSoup
汤= BeautifulSoup(HTML)
在soup.findAll('a')的link_tag:
link_tag = link_tag +'< B>确定< / B>' #此显然是行不通的
解决方案
您有正确的想法。只是匹配的类型,并做 replaceWith
。
从BeautifulSoup进口BeautifulSoup
汤= BeautifulSoup(HTML)
在soup.findAll('a')的link_tag:
link_tag.replaceWith(link_tag prettify()+'< B>确定< / B>')
打印汤
应该给你:
< P>
&所述; A HREF =http://www.foo.com>
这一点,如果富
&所述; / A>
< B>确定< / B>
&所述; A HREF =http://www.bar.com>
这一点,如果酒吧
&所述; / A>
< B>确定< / B>
&所述; / P>
Starting from an Html input like this:
<p>
<a href="http://www.foo.com">this if foo</a>
<a href="http://www.bar.com">this if bar</a>
</p>
using BeautifulSoup, i would like to change this Html in:
<p>
<a href="http://www.foo.com">this if foo</a><b>OK</b>
<a href="http://www.bar.com">this if bar</a><b>OK</b>
</p>
Is it possible to do this using BeautifulSoup?
Something like:
from BeautifulSoup import BeautifulSoup
soup = BeautifulSoup(html)
for link_tag in soup.findAll('a'):
link_tag = link_tag + '<b>OK</b>' #This obviously does not work
解决方案
You have the right idea. Just match up the types, and do replaceWith
.
from BeautifulSoup import BeautifulSoup
soup = BeautifulSoup(html)
for link_tag in soup.findAll('a'):
link_tag.replaceWith( link_tag.prettify() + '<b>OK</b>' )
print soup
should give you:
<p>
<a href="http://www.foo.com">
this if foo
</a>
<b>OK</b>
<a href="http://www.bar.com">
this if bar
</a>
<b>OK</b>
</p>
这篇关于如何使用BeautifulSoup一个链接后附加一个标签的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文