python - 当元素确实存在时,BeautifulSoup 返回“无”
问题描述
首先,如果我遗漏了一些超级简单的东西,我深表歉意,我已经查看了很多问题,但终生无法找到。
基本上,我试图收集文本的网站在这里:
https://www.otcmarkets.com/stock/MNGG/overview
我想从“黑暗或失效”一侧提取信息,我当前的代码如下:
url = 'https://www.otcmarkets.com/stock/MNGG/overview'
page = requests.get(url)
soup = BeautifulSoup(page.content, "html.parser")
ticker = soup.find('href', 'Dark or Defunct')
但正如标题所说,它只是不返回任何内容。我哪里错了?我很缺乏经验,所以如果可能的话,我很想解释一下。
解决方案
它没有返回,因为在 HTML 页面源代码中没有提及它。该网站上的所有内容都是从 JavaScript 源动态加载的。BeautifulSoup 旨在从 HTML 和 XML 文件中提取数据,并且在提供的 HTML 文件中,没有提到“Dark or Darker”(因此 BeautifulSoup 正确地找不到任何东西)。您需要使用支持 JavaScript 的抓取方法。请参阅使用 Python 抓取 Web 抓取 JavaScript 页面。
推荐阅读
- c++ - 架构 x86_64 的 C++ 未定义符号(类似)
- go - 高并发下 Go `net/http` 的一些困惑
- jquery - highchart没有显示在移动屏幕的中心
- ruby-on-rails - 如何按月过滤rails模型
- c# - Visual Studio 评论中的基本文本格式?
- ios - 无法将类型“ResultElement”的值转换为类型“_?” 在胁迫下
- php - 我正在尝试在在线主机上运行我的网站,但我不断收到错误消息
- sql-server - 如何将 SQL Server 2014 数据库备份恢复到 SQL Server 2016?
- .net - 有什么方法可以在命令行中检查 NuGet 包是否支持 .Net 标准?
- java - Chrome 选项 - Selenium 3.10 - NoSuchMethodError: com.google.common.collect.ImmutableList.toImmutableList()