2010-08-08 129 views
1

Iam构建需要废弃一些Web内容的刮板。 Iam面临一个问题,我需要抓取的页面有大量的Java脚本,并且似乎java-script调用正在为下一个请求设置一些cookie和一些查询字符串参数。有没有一种方法可以使用我的C#代码编译Javascript?

Iam能够通过向js文件发送请求来设置cookie,但似乎查询字符串params正在通过一些编码的javascript调用生成。

我不能解密它们,我试着用Google搜索工具来编译JS到C#但徒劳。如果有人早些时候已经解决了类似的问题,请阐明我如何编译一个JavaScript文件,如浏览器,并直接从我的C#代码生成HTML。

任何帮助将深表谢意。

回答

4

为什么不使用像fiddler这样的网络代理来查找设置了哪些标头和Cookie,并直接在C#中使用这些数据?

这样你就不需要执行JS来找出头和cookie。

更新:

您也可以使用Web自动化套件如WatiN抓取网站 - 我相信它已经支持JS,所以你并不需要做更多的工作。

UPDATE2:

由于华廷没有什么好您的要求,也许它直接使用JavaScript来.NET编译将有可能编译 - 见JScript.NET,但我怀疑任何DOM操作将导致。

+0

这将仅适用于静态Cookie的工作。如果脚本集使用花哨的逻辑与会话ID来生成cookie,则您需要复制逻辑。这很难,而且拼凑往往很难。 – 2010-08-08 07:45:24

+0

@Mikael Svenson - 真够的。将添加其他选项。 – Oded 2010-08-08 07:47:03

+0

+1 @Oded:与WatiN的良好联系,对于“麻烦”的网站来说是个不错的选择。但我不会将它用于批量抓取,因为它使用IE/FF进行实际抓取,并且可能需要您将站点添加到“可信站点”等。 – 2010-08-08 09:41:11

相关问题