如何使用.net桌面应用程序复制网站的内容

时间:2012-01-09 09:22:34

标签: c# .net winforms

网上有这个网站(这个网站不是由我建造的),它包含一个网格,并且它被分页,因此它跨越了许多页面。我想在excel表中的网格的每个页面的内容。如果我尝试手动操作,这是一种非常麻烦且不那么聪明的方式。

那么使用c#.net windows应用程序可以做到这一点吗?

是否有任何免费软件可以帮助我实现这一目标,例如网络爬虫或网络蜘蛛或类似的东西?

2 个答案:

答案 0 :(得分:2)

该术语称为Web Scraping。使用代码实现并不是一件容易的事。

您可以使用HttpWebRequest / HttpWebResponse类或WebClient类来访问和获取页面。然后,您可以使用正则表达式或类似HTML Agility Pack之类的其他内容来解析所需的数据。

至于第三方工具,有很多问题已在SO上得到解答,但您可以查看以下内容:What's a good Web Crawler tool

答案 1 :(得分:0)

您可以使用类似HTMLAgilityPack的内容来使用C#获取网页,然后使用XPath查询来提取所需的数据。您需要知道格式化查询字符串的正确方法,以便模拟分页。如果表使用AJAX进行分页,您可能需要使用一些外部工具/嗅探器来找出正确的url /查询字符串。我建议Firefox的Firebug插件执行此操作。

通过XPath提取HTML表格后,您可以使用XSLT将其转换为CSV格式。从CSV可以很容易地使用Office Interop将其导入Excel。