描述如何从网页提取结构化数据的语言:Parsley

郑昀@玩聚SR 20091127

欧芹Scrapy里面用到了Parsley
Parsley是一个挺有意思的小东西,它综合运用了CSS、XPath、正则表达式和JSON,是描述如何从网页里提取结构化数据的简单语言。估计做爬虫(Crawler/Spider)的人都会定义一套类似的模板。只不过Parsley还帮你把具体实现做了,用各种开发语言。

基本事实

Parselets就是用Parsley语言写成的片段(snippets)。

你可以近似认为一个Parselet定义了一套动作,描述如何从html代码中精确抽取数据,比如标题在哪儿,标题的链接怎么拿,评论数在哪儿如何提取。

Parsley有各种语言实现包,Ruby、Python、C/C++等。
pyparsley是对应的Python库。

 

Code和Result示例

具体例子参见:http://parselets.com/parselets/yc/15

Code

左侧的Code就是我们通常说的模板,右边的Result就是提取的结构化数据。

那么它是如何变为现实的呢?

 

实现

安装Parsley,再安装http://github.com/fizx/pyparsley,然后运行如下Python代码,就可以从给定网页链接,通过Parselet的描述,获得json格式的结构化数据。

Python

 

zhengyun 20091127 beijing

posted @ 2009-11-27 23:57  老兵笔记  阅读(2331)  评论(0编辑  收藏  举报