You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

网页抓取异常:浏览器页面与HtmlWeb下载页面内容不一致

网页抓取问题:HtmlWeb下载页面与浏览器显示内容不一致

我正在开展一个小型网页抓取项目,在获取HTML代码的函数环节遇到问题:同一URL下,浏览器审查的页面与HtmlWeb方法下载的页面内容不一致。尝试优化代码流程但未解决问题,分页参数i=2时也出现相同情况。

相关代码如下:

static void Main(string[] args)
{
    string prefixurl = "https://www.aaabbbcccdddeee.de/en/do-business-with-finland/finnish-suppliers/finnish-suppliers-results?query=africa";

    for (int i = 1; i < 18; i++)
    {
        string url = prefixurl;
        if (i > 1)
        {
            url = prefixurl + "&page=" + i;
        }

        var doc = GetDocument(url);
        var links = GetBusinessLinks(url);
        List<Empresa> empresas = GetBusiness(links);
        Export(empresas);
    }
}

static List<string> GetBusinessLinks(string url)
{
    var doc = GetDocument(url);
    var linkNodes = doc.DocumentNode.SelectNodes("/html/body/section/div/div/div/div[2]/div[2]//a");
    
    // //a[@class=\"btn bf-ghost-button\"]
    var baseUri= new Uri(url);
    var links = new List<string>();

    // 问题出在这里:下载的页面不完整,程序找不到节点
    foreach (var node in linkNodes)
    {
        var link = node.Attributes["href"].Value;
        bool business = link.Contains("companies");
        if (business)
        {
            link = new Uri(baseUri, link).AbsoluteUri;
            links.Add(link);
        }    
    }
    return links;
}

static HtmlDocument GetDocument(string url)
{
    var web = new HtmlWeb();

    HtmlDocument doc = new HtmlDocument()
    {
        OptionDefaultStreamEncoding = Encoding.UTF8
    };
    doc = web.Load(url);
    return doc;
}

问题出在GetBusinessLinks方法中,下载的页面不完整导致程序无法找到目标节点。


内容的提问来源于stack exchange,提问作者mTx

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.22 14:54:19