python - 为什么 beautifulsoup 的 find_all 不起作用
问题描述
我决定查看一个网站的源代码,并选择了一个“扩展”类。我想用这段代码打印出它的所有内容:
import requests
from bs4 import BeautifulSoup
page = requests.get("https://www.quora.com/How-can-I-write-a-bot-using-Python")
soup = BeautifulSoup(page.content, 'html.parser')
print soup.find_all(class_='expanded')
但它只是打印出来:
[]
请帮我找出问题所在。
我已经看到这个线程并尝试按照答案所说的但它没有帮助我,因为这个错误出现在终端中:
bs4.FeatureNotFound:找不到具有您请求的功能的树生成器:lxml。您需要安装解析器库吗?
解决方案
当搜索一个类值时,你应该像这样传递它:
soup.find_all(attrs={"class":"expanded"})
话虽如此,我在该站点的源代码中没有看到任何带有“扩展”类的内容。我能找到的最接近的是 class='ui_qtext_expanded'。如果这是您要查找的内容,则需要包含整个字符串。
soup.find_all(attrs={"class":"ui_qtext_expanded"})
推荐阅读
- c++ - 如何在 C++ 运行时生成布尔条件?
- python - 为什么这个矩阵初始化会给我意想不到的结果?
- vue.js - vuejs 在@click 事件中使用 if 语句
- ruby - 通过 gitlab CI/CD 在 CloudFront 上推送 Jekyll 站点时如何解决“s3_website”问题?
- python - 如何迭代 if 条件中的列表?
- java - 这些代码中的问号是什么意思?
- javascript - 日期作为图表的索引
- python - 如何监控游戏地址值?
- angular - 更改 Angular/Jasmine/Redux 中每个测试的模拟服务返回的 observable 值
- javascript - 未捕获的错误:对象作为 React 子项无效(找到:[object HTMLImageElement])