python爬虫中使用soup.findall函数如何爬取没有这个子标签的东西
时间: 2024-03-19 15:43:35 浏览: 129
beautifulsoup里面的find()和findall()小代码测试
使用BeautifulSoup中的find_all函数可以爬取没有某个子标签的元素。通过在CSS选择器中使用":not"伪类和子选择器">",可以实现筛选没有某个子标签的元素。以下是一个示例代码,用于爬取没有"img"子标签的"div"标签:
```python
import requests
from bs4 import BeautifulSoup
url = 'http://example.com'
response = requests.get(url)
soup = BeautifulSoup(response.text, 'html.parser')
divs_without_img = soup.find_all('div:not(:has(img))')
for div in divs_without_img:
print(div)
```
在上面的代码中,我们首先发送一个HTTP请求获取网页内容,然后使用BeautifulSoup解析HTML文档。接着,使用find_all函数结合":not"伪类和子选择器">",查找没有"img"子标签的"div"标签元素,并将它们保存在divs_without_img变量中。最后,我们可以遍历divs_without_img变量,并打印每个"div"元素的内容。
阅读全文