【问题标题】:scraping website that is generated by javascript in C#抓取由 C# 中的 javascript 生成的网站
【发布时间】:2018-04-06 04:49:32
【问题描述】:

我是编码新手。我正在尝试制作一个简单的控制台应用程序来运行互联网速度测试。我已经搜索了所有内容,但找不到答案。我尝试了所有示例答案,但无法让程序运行。现在,我的程序返回 0,它是来自 HTML 源文档的值。我需要来自 javascript 的值。网址是https://fast.com/en/ 我只需要速度测试结果。我需要帮助。这是我的代码:

enter code here
class Program
{
    [STAThread]
    static void Main(string[] args) 
    {
        HtmlWeb web = new HtmlWeb();
        string url = "https://fast.com/en/";
        HtmlDocument doc = web.LoadFromBrowser(url, html =>
          {
              return !html.Contains
              ("<div class=\"speed-results-container succeeded\"  
              id=\"speed_value\" ></div>");
          });

         var t1 = doc.DocumentNode.SelectSingleNode
             ("//div[@id='speed-value']").InnerText;
         Console.WriteLine($"{t1}");

    }
}

【问题讨论】:

标签: c# web-scraping html-agility-pack


【解决方案1】:

所以测试的整个“魔法”都在 app-ea56f7.js 文件中。 该文件正在发送请求并从 netflix 接收数据块。不幸的是,正如Running Scripts in HtmlAgilityPack 中提到的那样,如果不使用无头浏览器,就没有直接的方法。

要么使用https://www.npmjs.com/package/speedtest-net

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-08-09
    • 2014-08-08
    • 1970-01-01
    • 1970-01-01
    • 2020-07-01
    • 2014-04-07
    • 2012-09-19
    相关资源
    最近更新 更多