python - 有没有办法在 BeautifulSoup 中查找不包含特定类的标签?

标签 python web-scraping beautifulsoup

我正在尝试在每行都有类的页面上抓取表格。有一些类表明该事件尚未发生,我想避免这些。该表与此类似:

<tr class="TRow1 TFuture">
<tr class="TRow2 TFuture">
<tr class="TRow1 TFuture">
<tr class="TRow2 TPresent">
<tr class="TRow1 TPast">
<tr class="TRow2">

我似乎能找到的就是如何选择我想要的类(class)。有没有办法选择除我不想要的类(class)之外的所有内容?

最佳答案

您可以使用 :not css 选择器:

from bs4 import BeautifulSoup as soup
s = """ 
<tr class="TRow1 TFuture"></tr>
<tr class="TRow2 TFuture"></tr>
<tr class="TRow1 TFuture"></tr>
<tr class="TRow2 TPresent"></tr>
<tr class="TRow1 TPast"></tr>
<tr class="TRow2"></tr>
"""    
tr = soup(s, 'html.parser').select('tr:not(.TFuture)')

输出:

[<tr class="TRow2 TPresent"></tr>, <tr class="TRow1 TPast"></tr>, <tr class="TRow2"></tr>]

关于python - 有没有办法在 BeautifulSoup 中查找不包含特定类的标签?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69639066/

相关文章:

python - 如何通过抓取从ucsc基因组浏览器中提取表浏览器结果

python - python multiprocessing Queue 对于对象放置是否安全?

python-3.x - 从 div 类 XPath 中以字符串形式提取图像 url

python - 有什么方法可以为每个蜘蛛使用单独的 scrapy 管道吗?

python - 获取具有任意嵌套度的 html 元素的内容(以及内容的 xpath)

python - 使用 BeautifulSoup 抓取网站后文本丢失

python - 如何在 Python 中读取一个 100GB 的单行文本文件?

python - Pandas :无法根据字符串相等性进行过滤

python - 将重复的字符串搜索从二次减少到更快

java - 获取 URL 时发生 HTTP 错误。 Java 中的状态=403