繁体   English   中英

我想解析这个网站 url "https://www.171chryslerdodgejeepram.com/" 来获取 DealerId 的值,但我不知道该怎么做

[英]I want to parse this website url "https://www.171chryslerdodgejeepram.com/" to get value of DealerId but I have no idea how to do it

foreach (HtmlNode node in doc.DocumentNode.SelectNodes("//script").Where(x => x.InnerHtml.Contains("DealerId:")))
{


}

我试图在上述代码的帮助下获取经销商 ID 的值,但它没有返回任何内容,但是如果您试图从上述网站的页面源中找到 DealerId,那么它就在那里。 请帮助我实现这一目标,或者如果上述代码有任何问题,请纠正我。

  1. 您可以使用类似( https://github.com/sebastienros/jint )解析 JS 代码并从 JS 对象中提取您需要的字段
  2. 你可以简单地找到这个文本(不优雅,但有效):

UPD1:正则表达式版本

    static void Main(string[] args)
    {
        var url = "https://www.171chryslerdodgejeepram.com/";
        var web = new HtmlWeb();
        var doc = web.Load(url);

        foreach (HtmlNode node in doc.DocumentNode.SelectNodes("//script").Where(x => x.InnerHtml.Contains("dealerId:")))
        {
            var s = node.InnerText;
            Regex r = new Regex(@"dealerId:\s+'(\d+)'");
            Match m = r.Match(s);
            Console.WriteLine(m.Groups[1].Value);
        }

        Console.ReadKey();
    }
 var url = "https://www.171chryslerdodgejeepram.com/";
        var web = new HtmlWeb();
        var doc = web.Load(url);
 foreach (HtmlNode node in doc.DocumentNode.SelectNodes("//script").Where(x => x.InnerHtml.ToLower().Contains("dealerid")))
                {
                    AdwordsAccount info = new AdwordsAccount();
                    var s = node.InnerText;
                    //Regex r = new Regex("dealerid(.*?)\",");
                    Regex r = new Regex(@"dealerId:\s+'(\d+)'");
                    Match m = r.Match(s.ToLower());
                    info.account = m.Groups[1].Value;
                    urlinfo.adwordsaccount.Add(info);
                }

@cereberus 这是我的代码

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM