我需要从几个网站获取信息。例如this site 从页面获取所有链接以便提取信息的最佳方法是什么。 有时需要点击链接以获取其中的其他链接。 我尝试了Watin,我尝试在Excel 2007中使用Web数据选项执行相同的操作。 你能否提出一些我不知道的更好的方法。
答案 0 :(得分:3)
看看WGet。它是一个非常强大的工具,用于挖掘单个页面或整个网站的内容。可用选项允许您指定在链接方面要遵循多少级别,如何处理静态资源(如图像),如何处理相对链接等。它还可以很好地挖掘动态生成的页面,例如由CGI或ASP提供的那些。
它在'nix世界已存在多年,但executables compiled for Windows随时可用。
您需要使用Process.Start从.NET中启动它,但您可以将结果通过捕获标准输出将数据传输到多个文件(模仿原始网站结构),单个文件或内存中。然后,您可以进行后续分析,例如提取HREF HTML元素(如果它只是您感兴趣的链接),或者获取您在问题中提供的链接中明显的表格数据。
我意识到这不是一个“纯粹的”.NET解决方案,但在我看来,WGET的功能不仅可以弥补这一点。过去,我一直在使用它,就像我认为你想要做的那样。
答案 1 :(得分:3)
Ncrawler可能对深层次抓取非常有用。您也可以设置 MaxCrawlDepth 来指定相同的内容。
答案 2 :(得分:1)
我建议使用http://watin.org/。这比wget简单得多: - )