我正在编写代码来搜索纽约时报API以获取新闻文章并打印这些文章中的信息。
我已经能够获取新闻文章的URL,但是当我尝试从他们那里读取信息时,我收到以下错误:
urllib.error.HTTPError: HTTP Error 303: The HTTP server returned a redirect error that would lead to an infinite loop.
The last 30x error message was:
See Other
我的代码粘贴在下面,我评论了我收到错误的行。让我感到困惑的是,当我第一次使用urlopen从NYT的API中读取信息时,urlopen工作正常,但是当我尝试从特定文章的URL中读取信息时,第二次出现错误。
from urllib.request import urlopen
import json
url = 'http://api.nytimes.com/svc/search/v2/articlesearch.json?q=olympics&api-key=mykey'
request = urlopen(url) #no problems here
request = request.readall().decode('utf-8')
json_obj = json.loads(request)
for i, item in enumerate(json_obj):
title = json_obj.get('response').get('docs')[i].get('headline').get('main')
web_url = json_obj.get('response').get('docs')[i].get('web_url')
print(i+1)
print(title)
print(web_url)
print()
request = urlopen(web_url) #This is where I am getting the error
request = request.read().decode('utf-8')
print (request)
我使用的是便携式python 3.2.5.1
我也是使用python的新手。我的大多数编程经验都是使用java。