如何使用Python

时间:2017-03-10 01:09:05

标签: python web-scraping python-requests

我使用的是我在这里找到的代码,但它总是返回相同的引用。我可以看到数据本身有更多的引号,但不知道如何一次解析一个。谢谢。

import requests

url = "http://www.forbes.com/forbesapi/thought/uri.json?enrich=true&query=1&relatedlimit=5"
response = requests.get(url)
data = response.json()

quote=data['thought']['quote'].strip()

返回: 你教导克己,让自己的实践变得快乐,你可以为世界创造一个更加崇高的命运,这种命运是从最狂野的梦想家的大脑中发出的。'

type(data)返回一个dict。然后data.keys()返回[u'思想']。 data.items()返回一堆文本。为什么只有一个键,如果看起来多于一个引用?为什么data = response.json()返回带有类型(数据)的光盘,而不是json对象?

1 个答案:

答案 0 :(得分:0)

我在http://jsonviewer.stack.hu/复制了你的json文件并看到了数据的结构。一旦你理解了结构。

import requests

url = "http://www.forbes.com/forbesapi/thought/uri.json?enrich=true&query=1&relatedlimit=5"
response = requests.get(url)
data = response.json()

#print recent quote from Thought
print '*'*10
quote=data['thought']["quote"]
print quote

#print quotes from related authors
print '*'*10
quotes_of_related_authors = data['thought']['relatedAuthorThoughts']
for i in quotes_of_related_authors:
    print i.get('quote')


# print quotes from related theme thoughts
print '*'*10
quotes_of_related_theme_thoughts = data['thought']['relatedThemeThoughts']
for i in quotes_of_related_theme_thoughts:
    print i.get('quote')