HTMLAgilityPack无法加载完整页面内容

3
我需要筛选给定URL的网站内容。当我尝试加载页面http://cks.nice.org.uk/?char=B的内容时,我可以获取到所有内容(在下面的doc对象中),但是无法获取class="list-wrapper"内部的链接(锚点元素)。
有什么想法吗?谢谢。
using System;
using HtmlAgilityPack;

public partial class _Default : System.Web.UI.Page
{

protected void Page_Load(object sender, EventArgs e)
{
    HtmlWeb web = new HtmlWeb();
    HtmlDocument doc = null;
    doc = web.Load("http://cks.nice.org.uk/?char=B");
}

}


1
我快速查看了页面 - 看起来你需要的文档部分是在页面加载时或之后通过JavaScript动态添加的。我不确定你如何检索这些动态元素。 - Chris Mantle
谢谢你的评论,Chris。我想你是对的,但不知道是否有人能给我一个提示,如何加载我正在寻找的位。 - rumi
你找到方法了吗?我也有同样的问题。 - BhavikKama
1个回答

0

我对HtmlAgilityPack或C#不太熟悉,但从爬虫的角度来看,我可以告诉你我的做法。

你需要获取的文档是http://cks.nice.org.uk/js/topics.txt,它提供了主题名称和URL的漂亮JSON结构。解析它,你会看到一个对象数组,例如:

{"Title":"Achilles tendinopathy","Slug":"achilles-tendinopathy","Specialities":["Injuries","Musculoskeletal"]},
{"Title":"Acne vulgaris","Slug":"acne-vulgaris","Specialities":["Skin and nail"]}

从每个中获取“Slug”,并将其附加到基本URL以获取每个主题页面,例如http://cks.nice.org.uk/achilles-tendinopathy

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接