type
Post
status
Published
date
Mar 14, 2023
slug
summary
jsonpath真好用
tags
python
json
jsonpath
category
探索新世界
icon
password

run_query_database

最近在做一个小工具,需要对数据库进行查询并且解析notion api返回的数据。
上次推荐了一个比较好的封装
但是在里面没有找到查询数据库的相关介绍
自己研究了半天,发现有些函数没有被写到文档里
我找到一个比较相关的run_query_database
提示需要输入database_id 以及body
我直接去官网查看了一下
写出了以下代码
D = Database(integrations_token=token) body = { "filter": { "property": "喜马拉雅", "url": { "equals": "https://m.ximalaya.com/album/73808503?from=pc" } } } D.run_query_database(database_id=databes_rhythm_id, body=body) result_dict = D.result pprint.pprint(result_dict)
其中body 是参照官网的格式来写的
其实url 属性没有出现在列表中,我这个算是死马当活马医,结果顺利跑起来了。

jsonpath

数据跑出来之后会返回一大堆信息
然而我只需要里面的页面id等少数几个信息
我之前都是使用手动的方式定位信息,比如说
result[0]['id'][1]
这实在是太蠢了…
接着看别人推荐了一下jsonpath
我参考了一下文档
最重要的就是它的表格以及它的示例
notion image
{ "store": { "book": [ { "category": "reference", "author": "Nigel Rees", "title": "Sayings of the Century", "price": 8.95 }, { "category": "fiction", "author": "Evelyn Waugh", "title": "Sword of Honour", "price": 12.99 }, { "category": "fiction", "author": "Herman Melville", "title": "Moby Dick", "isbn": "0-553-21311-3", "price": 8.99 }, { "category": "fiction", "author": "J. R. R. Tolkien", "title": "The Lord of the Rings", "isbn": "0-395-19395-8", "price": 22.99 } ], "bicycle": { "color": "red", "price": 19.95 } } }
notion image
虽然说没有看的太懂,但是基本上够用了。
我主要是用的就是.. 无脑进行递归查找
如果出来的结果太多,那么就写几个前缀缩小一下范围
page_id = jsonpath.jsonpath(D.result, '$.results[0].id')
 
被python打包逼疯了pdf2image与分割五线谱