2013-05-21 153 views
1

我正在用BeautifulSoup做一個簡單的例子,但我得到了奇怪的結果。簡單的例子BeautifulSoup Python

這裏是我的代碼:

soup = BeautifulSoup(page) 
print soup.prettify() 
stuff = soup.findAll('td', attrs={'class' : 'prodSpecAtribtue'}) 
print stuff 

當我打印,我得到:

[] 

不知道發生了什麼,因爲當我在屏幕上打印的湯我得到正確的數據。基本上我下prodSpecAtribtue

+0

不,你可以得到'[]'或帶有匹配的列表。你不會**得到'{}'。 –

+0

對不起,這給了我{} –

+1

你能向我們展示一些仍然產生這個結果的示例HTML代碼片段嗎? –

回答

1

搜索在標籤<td>發現值拼錯類名:

soup.findAll('td', attrs={'class': 'prodSpecAtribute'}) 

工作正常。那是prodSpecAtribute,不是prodSpecAtribtue。這仍然是拼寫錯誤,但稍微不是這樣。

+0

哇,謝謝...花了一個小時在網上搜索.. –

+0

你知道一個有效的方式嗎?使用BeautifulSoup提取格式的數據:和。我認爲正則表達式是最簡單的解決方案。 –

+0

@JamesHallen:用colspan屬性挑出所有'td':'.findAll('td',colspan = True)',用值爲4 *或* 5的colspan屬性挑出所有'td':'.findAll ('td',colspan = ['4','5'])' –