“智能”的解析和使用网站数据的方法?

33

如何智能解析网页搜索结果返回的数据?

举个例子,假设我想创建一个网络服务,通过解析多个图书供应商网站的搜索结果来查找在线书籍。我可以获取页面的原始HTML数据,并进行一些正则表达式操作,使数据适用于我的网络服务,但如果任何一个网站更改了页面的格式,我的代码就会出现错误!

RSS确实是一个很好的选择,但许多网站没有基于XML/JSON的搜索。

是否有任何工具包可以帮助自动传播页面上的信息?一个疯狂的想法是使用模糊AI模块识别搜索结果页面上的模式,并相应地解析结果...


关于编程语言,我精通PHP,但如有必要,我也愿意使用ASP.NET。感谢所有的回复! - bluebit
一个好的正则表达式在使用中可以出奇地灵活和宽容。一种好的技巧是匹配数据项之前的区域,然后使用懒惰量词将数据放入捕获组中,最后再匹配数据之后的区域。如果您以灵活的方式定义了前/后匹配,它们可以很好地处理格式的变化。www.regular-expressions.info提供了一些关于这个和其他技术的好解释。 - BobMcGee
12个回答

0
如果你能使用类似 Tag Soup 的东西,那就是一个开始的地方。然后你可以把页面当作 XML API 来处理。
它有 Java 和 C++ 实现,可能会起作用!

0

有一个非常有趣的在线服务,可以解析网站 https://loadsiteinmysql.site。该服务将网站拆分为标签,并将它们加载到MySQL表中。这使您能够使用MySQL语法解析网站。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接