https get request with python urllib2



我正在尝试使用 urllib2 从 quandl 获取数据。请检查下面的代码。

import json
from pymongo import MongoClient
import urllib2
import requests
import ssl
#import quandl
codes = [100526];
for id in codes:
url = 'https://www.quandl.com.com//api/v3/datasets/AMFI/"+str(id)+".json?api_key=XXXXXXXX&start_date=2013-08-30'
req = urllib2.Request(url)
response = urllib2.urlopen(req)
data = response.read()
print data

for id in codes:
url = "https://www.quandl.com.com//api/v3/datasets/AMFI/"+str(id)+".json?api_key=XXXXXXXX&start_date=2013-08-30"
request = requests.get(url,verify=False)
print request

在第一种情况下,我收到HTTPERROR异常404。 当我使用请求模块时,即使使用 verify=false,我也会收到 SSL 错误。我正在浏览以前的帖子,但其中大多数都与HTTP请求有关。

感谢您的帮助。 J

这对我有用,但是您会收到有关SSL证书的警告,但您无需关心它。

import requests
codes = [100526];
for id in codes:
url = "https://www.quandl.com.com//api/v3/datasets/AMFI/"+str(id)+".json?api_key=XXXXXXXX&start_date=2013-08-30"
request = requests.get(url, verify=False)
print request.text

request.text有您的响应数据。

您似乎在代码的第一个版本中使用了错误的URL(.com.com而不是.com(以及不同引号的组合。请改用以下内容,它应该可以工作:

import urllib2
import requests
codes = [100526]
for id in codes:
url = "https://www.quandl.com//api/v3/datasets/AMFI/"+str(id)+".json?start_date=2013-08-30"
req = urllib2.Request(url)
response = urllib2.urlopen(req)
print response.read()
for id in codes:
url = "https://www.quandl.com//api/v3/datasets/AMFI/"+str(id)+".json?start_date=2013-08-30"
response = requests.get(url,verify=False)
print response.text

若要禁用有关 SSL 证书的警告,请在使用requests发出请求之前使用以下代码:

from requests.packages.urllib3.exceptions import InsecureRequestWarning
requests.packages.urllib3.disable_warnings(InsecureRequestWarning)

最新更新