从字符串集合中推断模板

Jyo*_*rya 9 string algorithm screen-scraping information-retrieval pattern-matching

我正在索引一组网站,这些网站具有从少量模板生成的大量页面(数千万).我正在寻找一种算法来学习生成页面的模板,并将模板与页面匹配,这样我就只需要为每个被提取的页面存储变量部分和模板参考.

该算法不需要产生尽可能大的压缩,但是当它看到更多页面时它应该会变得更好,并且当面对使用以前看不见的模板生成的页面时它应该优雅地表现.

我非常感谢任何文献或现有图书馆的参考.

我可以在批量页面上运行通用压缩算法.我不想这样做的原因是我感兴趣的数据将在页面的可变部分中,因此模板方法允许我在不解压缩的情况下对其进行检索.我希望能够重新创建整个页面,如果需要,以确保未来的可复制性和防止我的抓取程序中的错误.

Rug*_*man 7

在某些圈子中,这个问题被称为"HTML Wrapper Induction"或"Wrapper Learning".:随着链接到一些商业应用的评论-在本文中,你可以发现一个有趣的-尽管老http://www.xrce.xerox.com/Research-Development/Historical-projects/IWRAP-Intelligent-Wrapper-Learning - 工具)

您可能对此Python库感兴趣:http://code.google.com/p/templatemaker/ "嗯,假设您想要从一堆使用相同模板的网页获取原始数据 - 例如餐厅评论例如,在Yelp.com上.您可以为模板制作者提供任意数量的HTML文件,它将创建用于创建这些文件的"模板".(http://www.holovaty.com/writing/templatemaker/)

此外,另一个名为scrapy的Python库似乎有一个包装器归纳库:http://dev.scrapy.org/wiki/Scrapy09Changes#Addedwrapperinductionlibrary

但是,我无法详细说明这些算法.如果你想自己实现一个,这看起来是一个很好的起点:http://portal.acm.org/citation.cfm?id = 1859138它具有包装器归纳和在线学习功能,因此你可以开始将页面分类为你继续在爬行过程中.