【问题标题】:How to get a different quote of the day with Python如何使用 Python 获得不同的报价
【发布时间】:2017-03-10 01:09:05
【问题描述】:

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

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()

返回: u'教导克己,让修行变得快乐,你可以为世界创造比最疯狂的梦想家的大脑更崇高的命运。'

type(data) 返回一个字典。然后 data.keys() 返回 [u'thought']。 data.items() 返回一堆文本。为什么只有一个键,如果里面看起来不止一个引号?为什么 data = response.json() 返回带有 type(data) 的磁盘,而不是一个 json 对象?

【问题讨论】:

  • 这是我从 SO 复制和粘贴的一些代码。有人可以为我修改它来做其他事情吗? 这不是这个网站的真正运作方式。我们不是您的个人编程团队。自己努力改变它,然后如果你遇到困难,你可以问一个关于这个问题的具体问题。首先查看 data 中的 JSON 包含的内容。
  • Ken 有一点假设,我都没有尝试过,而 Data 是一个 Json。事实上,type(data) 返回一个字典。然后 data.keys() 返回 [u'thought']。 data.items() 返回一堆文本,是的,我不确定如何获取下一个项目,因此是问题所在。愿意帮忙吗?
  • 没有假设。你的帖子特别提到我在这里找到了这段代码,现在我需要有人修改它让我做其他事情。它在第一句话中。没有任何努力是基于您在问题中没有表现出任何这些努力的事实,并且由于我们无法从我们坐的位置看到您的屏幕,如果它不在帖子中,它就不存在,所以 不努力。还有data = response.json().
  • 好的,根据您的建议,我已为问题添加了更多上下文。请考虑提供一些进一步的指导。
  • 关于您的问题“为什么data = response.json() 返回字典而不是 json 对象?” - 阅读docs.python-requests.org/en/master/user/quickstart/…response.json() 将 json 数据解码为 Python dict,它不返回 json 对象。

标签: python web-scraping python-requests


【解决方案1】:

我在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')

【讨论】:

  • 谢谢。你在那个网站上复制了我的文件是什么意思?我试过了,它说我的格式无效..
  • 谢谢。我明白你的意思了。如果我按下格式按钮,它会清楚地显示键.. 或 json 元素..
猜你喜欢
  • 2015-04-29
  • 2022-07-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-02-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多