弘帝企业智能建站系统交流平台

 找回密码
 立即注册
查看: 694|回复: 0

【C#】获取url中的javascript.js中常量值window.pageData

[复制链接]
发表于 2024-6-18 22:18:10 | 显示全部楼层 |阅读模式
url="https://aiqicha.baidu.com/company_detail_31910473188481";
下面为:抓取url中的javascript函数中常量值window.pageData

private string Crawl()
{
    string url = req.Form["url"];
    string htmlContent = Submit.GetHTML(url);

    HtmlDocument doc = new HtmlDocument();
    doc.LoadHtml(htmlContent);

    // 使用正则表达式查找包含 window.pageData 的脚本
    string scriptContent = null;
    foreach (var script in doc.DocumentNode.SelectNodes("//script"))
    {
        if (script.InnerText.Contains("window.pageData"))
        {
            scriptContent = script.InnerText;
            break;
        }
    }

    if (!string.IsNullOrEmpty(scriptContent))
    {
        // 正则表达式提取 window.pageData 的值
        var match = Regex.Match(scriptContent, @"window\.pageData\s*=\s*(\{.*?\});", RegexOptions.Singleline);
        if (match.Success)
        {
            string json = match.Groups[1].Value;

            // 解析 JSON 数据
            JObject pageData = JObject.Parse(json);
            return pageData.ToString();
        }
        else
        {
            return "Error: window.pageData match";
        }
    }
    else
    {
        return "Error: window.pageData null";
    }
}

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|弘帝企业智能建站系统 ( 皖ICP备07503252号 )

GMT+8, 2024-11-24 00:18 , Processed in 0.047300 second(s), 15 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表