我有兴趣刮刮" 0.449"来自http://hdsc.nws.noaa.gov/hdsc/pfds/pfds_map_cont.html?Lat=33.146425&Lon=-87.5805543的以下源代码。
<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的内容时,我的结果只是&#34; - &#34;。如何从此代码中获取我想要的值?
答案 0 :(得分:1)
您可能会在初始加载后抓取使用javascript更新DOM的网站。
您有几个选择:
python headless browser
)。修改强>
我没有看到您发布了想要废弃的网址。
在您的特定情况下,您想要的数据来自对此URL的AJAX调用:
您现在只需要了解每个参数的作用,并解析其输出,而不是编写HTML剪贴板。
答案 1 :(得分:0)
请原谅我没有错误检查和模块化,但根据@Eloims观察结果,这可以满足您的需求:
import requests
import re
url = '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'
r = requests.get(url)
response = r.text
coord_list_text = re.search(r'quantiles = (.*);', response)
coord_list = eval(coord_list_text.group(1))
print coord_list[0][0]