https使用python获取请求urllib2

问题描述:

我想从使用urllib2的quandl中获取数据。请检查下面的代码。https使用python获取请求urllib2

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 

OR

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

您好像在代码的第一个版本中使用了错误的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请求之前使用the following code

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

感谢您的答复。我猜测.com导致错误。并确定我已经使用了'request = requests.get(url,cert =('C:\\ ssl \\ ca.crt','C:\\ ssl \\ ca.key')) jsonReq = request上传.json()' – Jitesh

这对我很有用,但是您会收到有关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有你的回复数据。