python web抓取代码中的错误:HTTP错误303

时间:2014-02-13 03:15:30

标签: json python-3.x web-scraping urllib

我正在编写代码来搜索纽约时报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。

0 个答案:

没有答案