如何抓取网站/将数据提取到数据库C#和SQLSERVER中

时间:2013-06-09 08:15:54

标签: c# sql-server web-crawler

我想构建一个单一的累积webapp,我的组织的用户只能使用一个站点而不是十个以上的站点用于不同的目的。我的组织有不同的站点,用于出勤,帐户,HR等等。我想抓取所有这些网站,使用c#读取他们的数据并将其保存在我的sqlserver中,然后用户可以直接使用/搜索我系统中的数据。

How would that work?
What tools/libraries can/should I use?
Are there good tutorials on that?
How do I best deal with binary data (e.g. images)?
Are there already good solutions for that?

1 个答案:

答案 0 :(得分:0)

如果遇到问题,你要前往的道路。我永远不会尝试。考虑这些挑战:

  • 您必须解析可能形成或可能不正确的HTML
  • 数据可能会散布各种非数据(广告,导航,悬停文字,javascript,评论等)。
  • 您不知道数据的年龄
  • 给定网站的HTML格式可能会从一天变为另一天,可能会破坏您以前的抓取策略
  • 仅在满足授权步骤后才能访问的页面上可能存在重要信息
  • 过去住在一个网址的数据可能已被移动,现在位于不同的网址或分成几个不同的网址
  • 只有在输入某些搜索参数或某些用户已登录时才能找到某些数据
  • 您网站的用户可能未获得授权(?)查看您从其他网站提取的数据

我建议构建一个数据仓库并与这些系统的提供商合作,以便从其根数据库访问数据源(但可能是:REST URL,直接SQL,Web服务,夜间数据转储)。使用ETL从这些系统后面的原始数据库中提取,转换和提供数据。