【问题标题】:Load processed post javascript / ajax html into string将处理后的 javascript / ajax html 加载到字符串中
【发布时间】:2012-03-30 21:21:51
【问题描述】:

我正在尝试将处理后的网页加载到字符串中,但似乎它也在加载 javascript;但我希望这是他可以保存到静态 html 文件并离线运行的“最终”结果。

这就是我此刻正在做的事情

HttpWebRequest request = (HttpWebRequest)WebRequest.Create(textBox9.Text);
IWebProxy theProxy = request.Proxy;
if (theProxy != null)
{
    theProxy.Credentials = CredentialCache.DefaultCredentials;
}
request.UseDefaultCredentials = true;
request.Proxy = WebRequest.DefaultWebProxy;

// execute the request

HttpWebResponse response = (HttpWebResponse)
    request.GetResponse();

// we will read data via the response stream
Stream resStream = response.GetResponseStream();

有什么建议吗?

【问题讨论】:

    标签: c# ajax dom web-crawler web-scraping


    【解决方案1】:

    如果我正确理解您的帖子,您不想从页面中删除 javascript,而是保留它并使其执行,就像您在浏览器中正常访问该页面一样?

    对于代理来说,这是一个众所周知的难以克服的问题,其他人已经取得了不同程度的成功。嵌入在页面中的 Javascript 应该可以正常运行,但是运行从外部文件加载到页面中的任何 javascript 时都会遇到问题。

    您可以尝试的一件事是重写外部 javascript 库的路径以反映本地路径,然后通过网络获取这些 javascript 文件的副本并将所有内容存储在模仿的目录结构中。您的里程可能会根据所涉及的 javascript 的花哨程度而有所不同,例如无论您做什么,一些 ajax 调用都可能无法正常工作。

    【讨论】:

    • 这是正确的。我想获得执行了 javascript 的完整 HTML。
    • Here 是一个声称以这种方式支持 javascript 的 php 代理。也许查看源代码可以为您提供一些解决问题的想法
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-08
    • 2013-05-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-27
    相关资源
    最近更新 更多