urllib2.urlopen没有获得所有内容

时间:2013-06-06 14:08:06

标签: python urllib2 python-requests

我是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

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

当我在浏览器中拉页面时,我做错了什么或我该如何才能获得所有内容?

1 个答案:

答案 0 :(得分:0)

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