2011-08-21 70 views
1

我有一些BeautifulSoup我在看。在這種情況下,我的樹是這個樣子:用BeautifulSoup找到頂級標籤

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

當我撥打以下:

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

我沒有做任何事情回來的時候我會想到要返回頂層標籤。但是如果我搜索的標籤是不是在最高級別,如下所示:

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

永遠不知道爲什麼它這樣做。只是繞過它而已。啊,謝謝你的幫助。 –