1

我试图从这样的页面中删除一些繁琐的文本。我想保留锚定链接但丢失中断和 a.intro。我以为我可以使用unwrap()之类的东西来剥离图层,但出现错误:TypeError: 'NoneType' object is not callable

为了好玩,我尝试运行文档示例代码本身,因为我看不出我的版本有何不同。

markup = '<a href="http://example.com/">I linked to <i>example.com</i></a>'
soup = BeautifulSoup(markup)
a_tag = soup.a

a_tag.i.unwrap()
a_tag
# <a href="http://example.com/">I linked to example.com</a>

我得到了完全相同的错误。我在这里想念什么?我在 Scraperwiki 工作,fwiw。

4

3 回答 3

1

似乎是一个scraperwiki问题。在 ipython 控制台中工作正常。

于 2012-11-14T02:09:41.167 回答
0

我也得到这个错误。

In [27]: type(a_tag.i.unwrap)
Out[27]: NoneType

In [28]: 'unwrap' in dir(a_tag.i)
Out[28]: False

FWIW,replace_with_children产生相同的结果:

In [29]: type(a_tag.i.replace_with_children)
Out[29]: NoneType

对我来说似乎是一个错误。

In [13]: import BeautifulSoup as Bs

In [16]: Bs.__version__
Out[16]: '3.2.1'
于 2012-10-26T22:37:38.710 回答
0

我有同样的错误信息soup.select()。原因是 BeautifulSoup4 库的旧版本。ScraperWiki 的某个人修复了它(请参阅ScraperWiki Google Group 上的此对话)。

于 2012-12-20T17:39:20.197 回答