我正试图在维基百科的一篇文章中删除一个表,每个表元素的类型似乎都是<class 'bs4.element.Tag'>
和<class 'bs4.element.NavigableString'>
。
import requests
import bs4
import lxml
resp = requests.get('https://en.wikipedia.org/wiki/List_of_municipalities_in_Massachusetts')
soup = bs4.BeautifulSoup(resp.text, 'lxml')
munis = soup.find(id='mw-content-text')('table')[1]
for muni in munis:
print type(muni)
print '============'
生成以下输出:
<class 'bs4.element.Tag'>
============
<class 'bs4.element.NavigableString'>
============
<class 'bs4.element.Tag'>
============
<class 'bs4.element.NavigableString'>
============
<class 'bs4.element.Tag'>
============
<class 'bs4.element.NavigableString'>
...
当我试图检索muni.contents
时,我得到了AttributeError: 'NavigableString' object has no attribute 'contents'
错误。
我做错什么了?如何获取每个muni
的bs4.element.Tag
对象?
(使用Python2.7)。
输出:
如果在标记中的节点之间有空格,美化组将把它们转换为NavigableString。试一下,看看内容是否像你希望的那样被获取-
相关问题 更多 >
编程相关推荐