等待页面使用 urllib2 加载资源

Wait for page to load resources using urllib2

我正在尝试访问 snowdaypredictor.com 以获得学校项目下雪天的机会,该网站不会自动显示下雪天的机会,因为它必须加载。我已经尝试了下面的代码,但它没有用。在读取URL的数据之前是否有等待?

import urllib2
import time

url = 'http://snowdaypredictor.com%20%22SnowdayPredictor.com'
data = urllib2.urlopen(url)
time.sleep(10)
data = data.read()

您想要的数据实际上并不是您认为的URL。该页面向另一个 URL 发出 后续 请求,其中 returns 有关降雪量和下雪天百分比的数据,然后第一页中的脚本会做一些不错的事情用这些数据计算动画。这实际上使您获取数据变得非常容易;这是一个例子:

https://api.snowdaypredictor.com/query/80424

编辑:

所以我刚刚在 python 中尝试了这个,但出于某种原因,它给我一个 SSL 错误。您可以使用 requests 而不是 urllib2 (您需要 pip install 它)来解决这个问题,方法是使用 verify=False 标志。下面是一些示例代码,可获取科罗拉多州布雷肯里奇的百分比并打印出来。您可以安全地忽略该警告(snowdaypredictor 似乎没有正确配置其 SSL 证书:

>>> import requests
>>> requests.get('https://api.snowdaypredictor.com/query/80424', verify=False).json()['percent']
/usr/local/lib/python2.7/site-packages/requests/packages/urllib3/connectionpool.py:838: InsecureRequestWarning: Unverified HTTPS request is being made. Adding certificate verification is strongly advised. See: https://urllib3.readthedocs.io/en/latest/security.html
  InsecureRequestWarning)
14