想要在webmagic中自定义一门爬虫语言

早在开始开发webmagic之前,就一直在思考,如何让爬虫的描述变得简单?

单条表达式描述一个抽取规则的诱惑是相当大的,这样子注解、配置、动态生成,都非常容易展开了。有个朋友做过一个管理后台,就是指定一个抽取字段,填一条XPath,一个抽取器就产生了。可惜XPath有些时候不那么灵活,还得用上正则这些东西。

自己写一个DSL始终太费劲,而XPath某种程度已经够好了。CSS Selector看起来很美,但是其语法的简单性使得描述一些复杂结构不太得心应手。

写了Xsoup之后,在这方面做了一点小小的尝试,Xsoup内置了一些XPath规范没有的函数,例如:regex()tidyText(),个人觉得都是非常有用的功能。

在跟@搜索小虫讨论之后,觉得在XPath里加入自定义函数功能,是个很酷的想法!这样虽然不标准,但是因为是自定义的,所以也不会跟XPath标准离得很远。如何规范自定义函数及编写,是个很有意思的问题。

你可能感兴趣的:(webmagic,xsoup)