.net - 寻找 Webzinc .NET、屏幕抓取、.NET 的 Web 自动化库的免费替代品

标签 .net screen-scraping screen html-content-extraction

<分区>

我遇到了这个 .NET 库:

http://www.webzinc.com/online/faq.aspx

但是,我想知道是否有免费的替代品?

最佳答案

构建机器人并不难,并且有许多书籍描述了这样做的一般算法(简单的 Google 搜索会出现许多算法)。

从 .NET 的角度来看,它的要旨是递归地:

  • 下载页面 - 这是通过 HttpWebRequest 完成的/HttpWebResponse ,或 WebClient类。此外,您还可以使用新的 WCF Web API from CodePlex ,这是对上述内容的巨大改进,专门用于生成/使用 REST 内容,它非常好用于抓取目的(主要是因为它的可扩展性)

  • 解析下载的内容 - 我强烈推荐 Html Agility Pack以及 fizzler Html Agility Pack 的扩展。 Html Agility Pack 将处理格式错误的 HTML,并允许您使用 XPath(或其子集)查询 HTML 元素。此外,fizzler 将允许您使用 CSS selectors如果您熟悉 using them in jQuery .

  • 获得结构化格式的 HTML 后,扫描结构以查找与您相关的内容并对其进行处理。

    • 扫描外部链接的结构化格式并放入队列中进行处理(无论您希望对您的应用有什么限制,您都不会为整个网络编制索引,对吗?)。

    • 获取队列中的下一个项目,并再次重复该过程。

关于.net - 寻找 Webzinc .NET、屏幕抓取、.NET 的 Web 自动化库的免费替代品,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1951753/

相关文章:

google-api - 从 Google 获取定义的最佳方式?

C# 打印屏幕事件窗口

c# - 委托(delegate)如何指向方法?

c# - 将大型 CLOB 对象转换为 .NET 字符串以放入 DataGridView 单元格

c# - 使来自第三方库的扩展方法过时

opencv - 是否可以使用此过程将屏幕坐标转换为相机坐标?

android - 让我的 Android 应用程序扩展到更大的屏幕

.net - 您如何在 XSLT 中对调用模板的结果求和?

web-scraping - 如何抓取 Hype Machine 等网站?

python - Scrapy 仅抓取每个页面的第一个结果