2012-10-26 2 views
1

this 같은 페이지에서 까다로운 텍스트를 제거하려고합니다. 앵커 링크를 유지하면서 휴식과 aintro를 잃고 싶습니다. 내가 unwrap() 같은 레이어를 제거하는 데 사용할 수있는 줄 알았는데 오류가 발생했습니다 : TypeError: 'NoneType' object is not callablebs4 설명서의 문제점은 무엇입니까? unwrap() 샘플 코드를 실행할 수 없습니다.

내 버전이 어떻게 다른지 볼 수 없기 때문에 차기에는 설명서 샘플 코드를 실행 해 보았습니다.

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에서 근무하고 있습니다.

+1

Scraperwiki 문제인 것처럼 보입니다. 'unwrap' 예제는 예를 들어 IPython에서 실행할 때 작동합니다. – mzjn

답변

1

scraperwiki 문제인 것 같습니다. ipython 콘솔에서 잘 작동합니다.

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' 
+0

하지만 ... 내 ipython에서 제대로 작동합니다. – Amanda

0

soup.select()과 같은 오류 메시지가 있습니다. 그 이유는 구 버전의 BeautifulSoup4 라이브러리 때문이었습니다. ScraperWiki의 누군가가 그것을 고쳤습니다 (ScraperWiki Google Group의 this conversation 참조).

관련 문제