gpt4 book ai didi

python - 无法使用 BeautifulSoup 抓取嵌套 html

转载 作者:太空宇宙 更新时间:2023-11-03 16:40:19 25 4
gpt4 key购买 nike

我有兴趣从 http://hdsc.nws.noaa.gov/hdsc/pfds/pfds_map_cont.html?Lat=33.146425&Lon=-87.5805543 的以下源代码中抓取“0.449” 。

<td class="tblInner" id="0-0">
<div style="font-size:110%">
<b>0.449</b>
</div>
"(0.364-0.545)"
</td>

使用BeautifulSoup,我目前已经编写:

storm=soup.find("td",{"class":"tblInner","id":"0-0"})

结果是:

<td class="tblInner" id="0-0">-</td>

我不确定为什么嵌套在 td 中的所有内容都没有显示。当我搜索td的内容时,我的结果只是“-”。如何从这段代码中获取我想要的值?

最佳答案

您可能正在抓取一个使用 javascript 在初始加载后更新 DOM 的网站。

您有几个选择:

  • 找出填充 HTML 页面的 javascript 代码从哪里获取数据并调用它。数据很可能来自您可以直接使用 CURL 调用的 API。 99% 的情况下这是最好的方法。
  • 使用 headless 浏览器(zombie.js,...)在 JavaScript 更改 HTML 代码后检索它。方便快捷,但 python 中很少有工具可以做到这一点(google python headless browser)。
  • 使用 selenium 或 splinter 远程控制真实的浏览器(chrome、firefox...)。它很方便并且可以在 python 中运行,但速度很慢

编辑:

我没有看到您发布了您想要抓取的网址。

在您的特定情况下,您想要的数据来自对此 URL 的 AJAX 调用:

http://hdsc.nws.noaa.gov/cgi-bin/hdsc/new/cgi_readH5.py?lat=33.1464&lon=-87.5806&type=pf&data=depth&units=english&series=pds

您现在只需要了解每个参数的作用,并解析其输出,而不是编写 HTML scraper

关于python - 无法使用 BeautifulSoup 抓取嵌套 html,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36865748/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com