编辑:基本上,我正在尝试执行分解,但不是删除标签并完全破坏其内容,我想用它的内容替换标签。
我想用字符串格式的标签内容替换 html 文档中的所有“a”标签。这将使我能够更轻松地将 html 写入 csv。但是,我无法通过替换步骤。我一直在尝试使用 BeautifulSoup 的 replace_with() 来完成它,但结果并没有按预期返回。
# Import modules
from bs4 import BeautifulSoup
from urllib2 import urlopen
# URL to soup
URL = 'http://www.barringtonhills-il.gov/foia/ordinances_12.htm'
html_content = urlopen(URL).read()
soup = BeautifulSoup(html_content)
# Replaces links with link text
links = soup.find_all('a')
for link in links:
linkText = link.contents[0]
linkTextCln = '%s' % (linkText.string)
if linkTextCln != 'None':
link.replaceWith(linkTextCln)
print link
这将返回:
<a href="index.htm">Home</a>
<a href="instruct.htm">Instructions</a>
<a href="requests.htm">FOIA Requests</a>
<a href="kiosk.htm">FOIA Kiosk</a>
<a href="geninfo.htm">Government Profile</a>
etc etc etc
但预期回报是:
Home
Instructions
FOIA Requests
FOIA Kiosk
Government Profile
etc etc etc
关于为什么 replaceWith 没有按预期工作的任何想法?有没有更好的方法来解决这个问题?