1

我需要从几个网站获取信息。例如这个站点 什么是从页面中获取所有链接以便提取信息的最佳方式。有时需要单击一个链接以获取其中的其他链接。我尝试了 Watin,并尝试在 Excel 2007 中使用 Web Data 选项执行相同的操作。您能否建议一些我不知道的更好的方法。

4

3 回答 3

3

看看WGet。它是一个非常强大的工具,用于挖掘单个页面或整个网站的内容。可用的选项允许您根据链接指定要遵循的深度级别、如何处理图像等静态资源、如何处理相关链接等。它还可以很好地挖掘动态生成的页面,例如由 CGI 或 ASP 提供的服务。

它在 'nix 世界中已经存在多年,但为 Windows 编译的可执行文件很容易获得。

您需要使用 Process.Start 从 .NET 启动它,但是您可以将结果通过管道传输到多个文件(模仿原始网站结构)、单个文件或通过捕获标准输出到内存中。然后您可以进行后续分析,例如提取 HREF HTML 元素(如果它只是您感兴趣的链接)或抓取您在问题中提供的链接中明显的表格数据类型。

我意识到这不是一个“纯粹的”.NET 解决方案,但在我看来,WGET 提供的强大功能足以弥补这一点。我过去曾以这种方式自己使用过它,这正是我认为您正在尝试做的事情。

于 2012-11-04T16:06:28.230 回答
3

Ncrawler可能对深层爬行非常有用。您还可以设置MaxCrawlDepth以指定相同的值。

于 2012-11-05T15:33:54.347 回答
1

我建议使用http://watin.org/。这比 wget 简单得多:-)

于 2012-11-04T19:20:35.157 回答