C# 有没有一种方法可以用我的C代码编译Javascript?

C# 有没有一种方法可以用我的C代码编译Javascript?,c#,javascript,web-crawler,C#,Javascript,Web Crawler,我正在构建一个刮板,它需要刮板一些web内容。我面临一个问题,我需要爬网的页面有大量java脚本,java脚本调用似乎正在为下一个请求设置一些cookie和一些查询字符串参数 我可以通过向js文件发送请求来设置cookie,但查询字符串参数似乎是由一些编码的javascript调用生成的 我无法破译它们,我试着用谷歌搜索工具将JS编译成C#,但没有成功。如果之前有人解决了类似的问题,请说明我如何像浏览器一样编译javascript文件,并直接从C#代码生成html 如果有任何帮助,我们将不胜感激

我正在构建一个刮板,它需要刮板一些web内容。我面临一个问题,我需要爬网的页面有大量java脚本,java脚本调用似乎正在为下一个请求设置一些cookie和一些查询字符串参数

我可以通过向js文件发送请求来设置cookie,但查询字符串参数似乎是由一些编码的javascript调用生成的

我无法破译它们,我试着用谷歌搜索工具将JS编译成C#,但没有成功。如果之前有人解决了类似的问题,请说明我如何像浏览器一样编译javascript文件,并直接从C#代码生成html


如果有任何帮助,我们将不胜感激。

为什么不使用web代理来查找设置了哪些标头和cookie,并直接在您的C#中使用这些数据

这样,您就不需要执行JS来计算头和cookie了

更新:

您还可以使用web自动化套件(例如)来抓取站点—我相信它已经支持JS,所以您不需要做更多的工作

更新2:


由于WatiN不符合您的要求,也许可以直接使用javascript到.NET编译器编译它-请参阅,尽管我怀疑会导致任何DOM操作。

为什么不使用web代理来查找设置了哪些标头和cookie,并直接在C#中使用这些数据

这样,您就不需要执行JS来计算头和cookie了

更新:

您还可以使用web自动化套件(例如)来抓取站点—我相信它已经支持JS,所以您不需要做更多的工作

更新2:


由于WatiN不符合您的要求,也许可以直接使用javascript到.NET编译器编译它-请参阅,尽管我怀疑会导致任何DOM操作。

它可能比您想象的更复杂。请看以下两个主题:


这可能比你想象的要复杂。请看以下两个主题:


这仅适用于静态cookie。如果脚本集使用具有会话id的奇特逻辑来生成cookie,那么您就可以复制该逻辑。这是很难的,而刮擦通常是很难的。@Mikael Svenson-没错。将添加其他选项。+1@Oded:与WatiN的链接很好,对于“麻烦”网站来说,这是一个不错的选择。但我不会将其用于批量爬网,因为它使用IE/FF进行实际爬网,并且可能需要您将您的站点添加到“受信任的站点”等@Mikael Svenson-我理解您的担忧,但除了嵌入JS引擎之外,您会做什么?@Oded:嵌入将是afaik的唯一方式,这就是为什么我给您投票。刮擦会让人头痛;)我认为你的回答突出了手头的选项。这只适用于静态cookie。如果脚本集使用具有会话id的奇特逻辑来生成cookie,那么您就可以复制该逻辑。这是很难的,而刮擦通常是很难的。@Mikael Svenson-没错。将添加其他选项。+1@Oded:与WatiN的链接很好,对于“麻烦”网站来说,这是一个不错的选择。但我不会将其用于批量爬网,因为它使用IE/FF进行实际爬网,并且可能需要您将您的站点添加到“受信任的站点”等@Mikael Svenson-我理解您的担忧,但除了嵌入JS引擎之外,您会做什么?@Oded:嵌入将是afaik的唯一方式,这就是为什么我给您投票。刮擦会让人头痛;)我认为你的回答突出了眼前的选择。