如何抓取网站/提取数据到数据库c#和SQLSERVER

本文关键字:数据 数据库 SQLSERVER 提取 何抓取 抓取 网站 | 更新日期: 2023-09-27 18:17:28

我想建立一个单一的累积web应用程序,我的组织的用户只能使用一个网站,而不是十个以上的网站为不同的目的。我所在的公司有不同的考勤、会计、人力资源等网站。我想抓取所有这些网站,读取它们的数据并使用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?

如何抓取网站/提取数据到数据库c#和SQLSERVER

你要走的路充满了问题。我绝不会尝试。考虑这些挑战:

  • 你必须解析HTML,这可能是格式良好的,也可能不是
  • 数据可能会穿插各种非数据(广告、导航、悬停文本、javascript、注释等)
  • 你不知道数据的年龄
  • 给定站点的HTML格式可能每天都在变化,可能会破坏您以前的抓取策略
  • 重要信息可能存在于只有在满足授权步骤后才能访问的页面上
  • 曾经位于一个URL的数据可能已经移动,现在位于不同的URL或拆分为几个不同的URL
  • 某些数据可能只有在输入某些搜索参数或某些用户登录时才能找到
  • 您的站点的用户可能未被授权(?)查看您从其他站点提取的数据

我建议建立一个数据仓库,并与这些系统的提供者合作,从它们的根数据库获得对数据提要的访问权限(然而,这可能是:REST URL,直接SQL, web服务,夜间数据转储)。使用ETL从这些系统背后的原始数据库中提取、转换和加载数据。