在html中搜索颜色标签(Python 3)

时间:2018-11-19 14:25:59

标签: python beautifulsoup

如果单元格具有某种颜色,我试图从表中获取元素。唯一的问题是,对于颜色标签,似乎尚无法获得颜色。

TextBlock

这将返回一个空列表

如何仅从下面的html中获取颜色?

我需要从[td]标签中获取颜色(从[tr]标签中获取颜色也很有用)

jump = []

for tr in site.findAll('tr'):
  for td in site.findAll('td'):
    if td == 'td bgcolor':
      jump.append(td)

print(jump)

2 个答案:

答案 0 :(得分:1)

您可以使用has_attr来检查元素是否具有特定属性:

if td.has_attr('bgcolor'):
    jump.append(td)

如果我听错了您的答案,而您只想找到某种颜色的td,请使用find_all

tr.find_all("td", {"bgcolor": "55aa2a"}) # returns list of matches

PS:如果有人对has_attr有更好的文档摘要,请编辑此答案。

答案 1 :(得分:1)

如何?

jump = []

for tr in site.findAll('tr'):
  for td in site.findAll('td'):
    if 'bgcolor' in td.attrs:
      #jump.append(td)
      print(td.attrs['bgcolor'])

print(jump)