【发布时间】:2013-09-04 10:42:38
【问题描述】:
我正在尝试从购物网站上抓取内容,然后将其保存在我的数据库中的产品表中。抓取此类内容需要了解每个站点的 DOM 结构。不仅是 DOM 结构,还有菜单中类别的层次结构。
有许多解决方案可以通过为每个站点设置配置,然后使用 regx、XPath 或 css 选择器查找包含(例如产品名称、价格、型号等)的特定 html 元素来实现这一目标。
是否有任何解决方案可以避免为每个站点设置配置并自动抓取产品属性?
有一个类似的解决方案可以处理诸如 Readability 之类的新闻,它会查找 <p> 标签和图像的序列。由于新闻网站的相似性和结构简单,新闻更容易,
【问题讨论】:
-
你可以自动化这个过程:给定一个文本值,找到页面上的文本,然后generate a CSS selector for the containing element。但是,不能保证生成的选择器是稳定的。您可以花几天时间编写一个收集多个页面并使用启发式方法尝试找到共同模式的脚本……或者您可以根据(对人类而言)明显的模式使用您的大脑生成一个好的选择器。
标签: xpath html-parsing web-scraping html-agility-pack