bs4 网页文本中筛选 属性为class=“style5”的td字段的值,但不要筛选属性为class=“style5” width=“20%”的td字段的值
时间: 2024-09-30 11:16:09 浏览: 23
在Python中,你可以使用BeautifulSoup库来解析HTML文档并筛选出满足条件的元素。bs4 (BeautifulSoup 4) 提供了强大的DOM操作功能。如果你想要从网页文本中提取属性为`class="style5"`的`<td>`字段的值,同时排除那些还包含`width="20%"`的`<td>`,可以按照以下步骤操作:
```python
from bs4 import BeautifulSoup
# 假设你已经有一个HTML字符串或者是一个文件路径
html_content = ... # 这里填写你的HTML内容
# 使用BeautifulSoup解析HTML
soup = BeautifulSoup(html_content, 'lxml')
# 定义我们要选择的td标签,只匹配class='style5'
td_elements = soup.find_all('td', class_='style5')
# 创建一个新的列表来存储我们感兴趣的td值
values_of_interest = []
# 遍历每个找到的td元素
for td in td_elements:
# 检查宽度属性是否不包含'width="20%"'
if 'width="20%"' not in str(td.get('width')):
# 获取td的文本值,并添加到列表中
values_of_interest.append(td.text)
# 打印筛选后的值
for value in values_of_interest:
print(value)
```
阅读全文