2011-08-21 3 views
1

내가보고있는 BeautifulSoup이 있습니다. 이 경우, 내 나무는 다음과 같습니다 : 내가 최고 수준의 태그를 반환 할 것을 예상 할 때 나는 아무것도 반환하지 않아도BeautifulSoup로 최상위 태그 찾기

soup.findAll(attrs={'class':'myTable'}) 

:

soup = "<table class="myTable"><tr>...</tr></table>" 

나는 다음과 같은 전화

. 그러나 내가 검색하는 태그가 다음과 같이 최상위 수준에 있지 않은 경우 :

soup = "<body><table class="myTable"><tr>...</tr></table></body>" 

그런 다음 표를 찾습니다. 나는 명백한 무엇인가 놓치고 있다고 생각한다. 내가 아니라면 최상위 태그를 포함한 모든 것을 찾을 수있는 방법이 있습니까?

답변

1

문제를 재현 할 수 없습니다. 최상위 태그를 찾는 것이 효과가 있다고 생각합니다.

In [92]: import BeautifulSoup 
In [94]: soup=BeautifulSoup.BeautifulSoup('<table class="myTable"><tr>...</tr></table>') 

In [95]: soup.findAll(attrs={'class':'myTable'}) 
Out[95]: [<table class="myTable"><tr>...</tr></table>] 
+0

내가 다른 곳에서 x를 얻고 있기 때문일 수 있습니까? 이전의 findAll에서 가져온 목록을 가지고 있습니다. 해당 목록의 각 항목은이 특정 findAll을 사용하고있는 항목입니다. –

+0

아마도'print (tag.prettify())'(또는 디버거)를 사용하여 태그의 내용이 자신이 생각하는 것인지 확인할 수 있습니다. – unutbu

+0

왜 그렇게하는지 알아 내지 못했습니다. 그냥 주위에 해킹. 아, 도움을 주셔서 감사합니다. –