2013-05-21 36 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'])' –