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

スクレーパーウィキの問題のようです。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グループでこの会話を参照してください)。

于 2012-12-20T17:39:20.197 に答える