使用GraphQuery进行解析

已知我们想要得到的数据结构如下:

GraphQuery 的代码是下面这样的:

通过对比可以看出, 它只是在我们设计的数据结构之中添加了一些由反引号包裹起来的函数。惊艳的是,它能完全还原我们上面在 PythonGolang 中的解析逻辑,而且从它的语法结构上,更能清晰的读出返回的数据结构。这段 GraphQuery 的执行结果如下:

GraphQuery 是一个文本查询语言,它不依赖于任何后端语言,可以被任何后端语言调用,一段 GraphQuery 查询语句,在任何语言中可以得到相同的解析结果。 它内置了 xpath选择器,css选择器,jsonpath 选择器和 正则表达式 ,以及足量的文本处理函数,结构清晰易读,能够保证 数据结构解析代码返回结果 结构的一致性。

项目地址: github.com/storyicon/g…

GraphQuery 的语法简洁易懂, 即使你是第一次接触它, 也能很快的上手, 它的语法设计理念之一就是 符合直觉, 我们应该如何执行它呢:

1. 在 Golang 中调用 GraphQuery

golang 中,你只需要首先使用 go get -u github.com/storyicon/graphquery 获得 GraphQuery 并在代码中调用即可:

我们的 GraphQuery 表达式以 单行 的形式, 作为函数 graphquery.ParseFromString 的第二个参数传入,得到的结果与预期完全相同。

2. 在Python中调用GraphQuery

Python 等其他后端语言中,调用 GraphQuery 需要首先启动其服务,服务已经为 windowsmaclinux 编译好,到 GraphQuery-http 中下载即可。
在解压并启动服务后,我们就可以愉快的使用 GraphQuery 在任何后端语言中对任何文档以图形的方式进行解析了。Python调用的示例代码如下:

输出结果为:

扩展链接 https://github.com/storyicon/graphquery/wiki




HTTPX 基础教程-新乡seo|网站优化,网站建设_微信公众号:zeropython—昊天博客