【问题标题】:Best way to collect information from web page从网页收集信息的最佳方式
【发布时间】:2012-11-04 15:53:30
【问题描述】:

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

【问题讨论】:

    标签: c# excel web-scraping


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

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

      它在 'nix 世界中已经存在很多年了,但 executables compiled for Windows 很容易获得。

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

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

      【讨论】:

        【解决方案3】:

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

        【讨论】:

        • 我认为这可能是一个更好的评论,询问为什么 Watin 不起作用。或者也许是一个例子……正如 OP 所说,Watin 已经尝试过……
        • 好的,下次再做。顺便提一句。我在一些屏幕抓取项目中使用了 watin,如果您不需要实时使用,它比 htmlagilitypack.codeplex.com 使用起来更简单
        • 是的,看看确实更简单的使用方式。但是这里的 OP 似乎更关心网站的深层爬取。
        猜你喜欢
        • 1970-01-01
        • 2019-07-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-12-31
        • 1970-01-01
        • 2012-07-26
        相关资源
        最近更新 更多