等待页面使用urllib2加载资源

时间:2016-12-16 01:28:48

标签: python urllib2

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

import urllib2
import time

url = 'Roblox url'
data = urllib2.urlopen(url)
time.sleep(10)
data = data.read()

1 个答案:

答案 0 :(得分:0)

您想要的数据实际上不在您认为的URL中。该页面向另一个URL发出后续请求,该URL返回有关降雪和下雪天百分比的数据,然后第一页中的脚本使用该数据执行漂亮的小计数动画。这实际上使您可以非常轻松地获取数据;这是一个例子:

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

编辑:

所以我只是在python中试过这个,并且由于某种原因它给了我一个SSL错误。您可以使用requests代替urllib2(您需要pip install)来获取此问题,方法是使用verify = False标志。下面是一些示例代码,它获取Breckenridge,CO的百分比并打印出来。您可以安全地忽略该警告(似乎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