我想选择一个具有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