使用Freebase API时如何从mqlread()获取光标?
作者:互联网
我正在使用Python-Freebase模块的mqlread().使用以下查询:
query = [{
"cursor": True,
"id": None,
"type": "/games/game",
"mid": None,
}]
这将返回100个条目,但结果不包括“光标”.如果手动运行查询,则会得到类似以下内容的信息:
{ "code": "/api/status/ok", "cursor": "eNqFj8FqwzAQRD-mF4sisrtaaaWlhP6H8MHYNTUEW8hpKP36KjgU2kvnMoeZ4THjR923qhKS07wpAvR5VZbYBIL9sE76FDGAs-yCA_FISprL_nWUt5tC383L59ukh9llH_TvpL7Y7rYUdZ4CN9iRITB6vTwnAhriCAwAgXGO8Etkz48dicnvy3ptTGO6OwgsBwIfwJNeHpDWowgh_URO63-M0Z7vM0neGZNL3RrihBKFU_uZS2l3sT-9cpIBaRrnOE8JhaAhQL4B9ZFRmg==", "result": [
{
"id": "/en/cities_and_knights_of_catan",
"mid": "/m/02hq3",
"type": "/games/game"
},
....
其中包含“光标”.但结果来自:
freebase.mqlread(query, extended=True)
将返回:
[{u'type': u'/games/game', u'id': u'/en/cities_and_knights_of_catan'}, ...
其中去除了“代码”和“光标”.如何获得“光标”?
解决方法:
我发现Freebase-Python模块实际上包括一个为您处理游标的方法.只需调用mqlreaditer(query,extended = true),这将返回一个Python生成器,您可以对其进行迭代.在后台,Freebase模块将查询并跟踪光标,按需返回结果,直到到达“假”光标为止.
很简单!
标签:python,json,freebase,mql 来源: https://codeday.me/bug/20191009/1879945.html