使用BeautifulSoup

时间:2015-07-10 20:18:13

标签: python html css web-scraping beautifulsoup

我有以下HTML数据。我需要使用BeautifulSoup4:

从中获得“2”
<td rowspan="2" style="text-align: center; vertical-align: middle;">
    <small>3</small>
</td>

我试过了:

k.find('rowspan')['style'] 

产生了例外:

  

回溯(最近一次调用最后一次):TypeError中的文件“”,第1行:列表索引必须是整数,而不是str

是否可以使用BS4进行?或者说我使用不同的库来直接提取CSS?

2 个答案:

答案 0 :(得分:1)

您为什么使用find("rowspan")?您没有搜索<rowspan>代码。

find method在传递单个字符串参数时,会根据标记名称搜索标记。

你应该使用的是这样的,这意味着,“找到属性值为<td>的第一个rowspan="2"标记,并返回其style属性的值”:< / p>

k.find('td', rowspan="2")['style']

请参阅文档的"Kinds of filters"部分,了解指定要搜索的标记的各种方法。

答案 1 :(得分:0)

试试这个:

from bs4 import BeautifulSoup
soup = BeautifulSoup('<td rowspan="2" style="text-align: center; vertical-align: middle;"><small>3</small></td>', 'html.parser')
print(soup.td['rowspan'])