在 C# 中抓取由 javascript 生成的网站
scraping website that is generated by javascript in C#
我是编码新手。我正在尝试制作一个简单的控制台应用程序,它将 运行 互联网速度测试。我到处搜索,找不到答案。我尝试了所有示例答案,但无法将程序设置为 运行。现在,我的程序 returns 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}");
}
}
因此整个 "magic" 测试是在 app-ea56f7.js 文件中进行的。
该文件正在发送请求并从 netflix 接收数据块。不幸的是,正如 Running Scripts in HtmlAgilityPack 中所提到的,如果不使用无头浏览器就没有直接的方法。
我是编码新手。我正在尝试制作一个简单的控制台应用程序,它将 运行 互联网速度测试。我到处搜索,找不到答案。我尝试了所有示例答案,但无法将程序设置为 运行。现在,我的程序 returns 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}");
}
}
因此整个 "magic" 测试是在 app-ea56f7.js 文件中进行的。 该文件正在发送请求并从 netflix 接收数据块。不幸的是,正如 Running Scripts in HtmlAgilityPack 中所提到的,如果不使用无头浏览器就没有直接的方法。