html类选择器类名中有空格,如何通过css选择器匹配特定的标签,其中class属性包含空格?...

我想选择一个具有class属性值的表标记:

drug-table data-table table table-condensed table-bordered

所以我尝试了下面的代码:

for i in soup.select('table[class="drug-table data-table table table-condensed table-bordered"]'):

print(i)

但它没有奏效:

ValueError: Unsupported or invalid CSS selector: “table[class=”drug-table”

class属性值中的空格是不匹配的原因.而且,我想要经历两个更深层次的元素:

soup.select('table[class="drug-table data-table table table-condensed table-bordered"] > tr > th')

解决方法:

soup.select("table.drug-table.data-table.table.table-condensed.table-bordered")

演示:

>>> from bs4 import BeautifulSoup

>>>

>>> data = """

...

...

...

test

...

...

... """

>>>

>>> soup = BeautifulSoup(data)

>>> for i in soup.select("table.drug-table.data-table.table.table-condensed.table-bordered > tr > td"):

... print(i)

...

test

标签:python,css-selectors,html-parsing,beautifulsoup,html

来源: https://codeday.me/bug/20190528/1170208.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值