网站预览-使用javascript或服务器端加载网页

a website preview - loading a webpage using javascript Or Server-side

本文关键字:服务器端 加载 网页 javascript 使用 网站      更新时间:2023-09-26

当用户发布链接时,我想在类似于facebook的链接上显示网站预览。我的问题在下面的链接中重复了一遍,但我将在整个解决方案中询问具体信息。我有两个显示网页预览的解决方案,如下所示:1。服务器端html进程2。客户端html进程

1.服务器端html进程
我使用System.Net.WebClient().DownloadString(url)在服务器端检索网页数据,并试图提取页面中最重要的信息,但在大多数情况下,页面的主要部分使用javascript加载,因此我无法访问这些信息
服务器端html进程中的另一个解决方案是使用webBrowser和WebDocument对象。因为我没有使用这些库,也不知道应用这些对象会对Web服务器的性能产生多大影响,所以我只提出这个解决方案供讨论。因此,有没有服务器端的html graber可以获取所有html数据,包括javascript加载的html源

2.客户端Html进程
客户端最简单的方法是使用iframe标记,但它有以下两个问题:

  • a。对于其他域上的链接,我无法访问框架的innerHTML。

  • b。我无法在iframe中加载https网页,如Dropbox和facebook因为"x帧选项"错误。

我的问题是,有没有其他客户端解决方案可以从第三方网页(通常是https)中检索动态html源(由javascript加载)?或者我可以用一些技巧来解决上面的问题。

我想服务器端方法将是最可行的选择。在客户端,您可以使用代理服务来解决跨域限制,例如,跨源。

要生成预览,类似于Facebook提供的预览,您需要获取目标页面的Open Graph信息。用于处理可用于多个平台的开放图数据的库。OpenGraph Net可以在.Net平台上使用。