【发布时间】:2019-01-06 03:45:28
【问题描述】:
我目前正在尝试使用 Python 2.7 的 BeautifulSoup (bs4) 从网页中抓取文本。我的原代码如下:
string = ''
a = soup.find('div',attrs={"id":"pressrelease"})
[x.extract() for x in a.findAll('script')]
[x.extract() for x in a.findAll("span", {'class':'hidden'})]
for element in a:
try:
string += element.get_text()
except Exception as e: print(e)
虽然我的代码确实为我提供了所需的文本,但它也会出现以下错误:'NavigableString' object has no attribute 'get_text'。如果代码遇到异常,我想实现一个保存 URL 的功能,但在这种情况下,我不希望保存 URL,因为即使它抛出异常,页面也被成功抓取。因此,我试图更好地理解错误到底是什么(因此我可以决定是否有意忽略这种情况)。
任何关于什么是 navigablestring 以及为什么它会导致我的代码抛出此类错误的解释将不胜感激!
【问题讨论】:
-
Reading the documentation 是学习如何使用包的唯一真正方法。花了很多精力来写它。复杂的问题没有简单的答案。
-
嗨!如果我无法理解文档在说什么,是否可以假设我是哑巴?
标签: python html beautifulsoup