0

我是 python 的初学者,从 reddit.com 提取一些数据更准确地说,我试图向 http:www.reddit.com/r/nba/.json 发送请求以获取页面的 JSON 内容然后解析它用于有关特定团队或球员的条目。

为了自动化数据收集,我请求这样的页面:

import urllib2
FH = urllib2.urlopen("http://www.reddit.com/r/nba/.json")
rnba = FH.readlines()
rnba = str(rnba[0]) 
FH.close()

我还在脚本副本上提取这样的内容,以确保:

FH = requests.get("http://www.reddit.com/r/nba/.json",timeout=10)

rnba_json = FH.json()   
FH.close()

但是,当我使用任何一种方法手动访问http://www.reddit.com/r/nba/.json时,我都没有获得完整的数据, 特别是当我调用

print len(rnba_json['data']['children']) # prints 20-something child stories

但是当我做同样的加载复制粘贴的 JSON 字符串时,如下所示:

import json
import urllib2
fh = r"""{"kind": "Listing", "data": {"modhash": ..."""# long JSON string 
r_nba = json.loads(fh)      #loads the json string from the site into json object
print len(r_nba['data']['children'])        #prints upwards of 100 stories

我得到更多的故事链接。我知道超时参数,但提供它并没有解决任何问题。

当我在浏览器中拉出页面时,我做错了什么或者我能做些什么来获得所有呈现的内容?

4

1 回答 1

0

要获得允许的最大值,您可以使用如下 API:http ://www.reddit.com/r/nba/.json?limit=100

于 2013-06-06T14:39:25.537 回答