【问题标题】:htmlagilitypack not loading full content of the pagehtmlagilitypack 未加载页面的全部内容
【发布时间】:2013-08-15 09:03:18
【问题描述】:

我需要筛选带有给定网址的网站。当我尝试加载页面 http://cks.nice.org.uk/?char=B 的内容时,我得到了除 div 内的链接(锚元素)之外的所有内容(在下面的 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");
}

}

【问题讨论】:

  • 快速浏览了该页面 - 似乎您所关注的文档部分是在页面加载时或之后使用 JavaScript 动态添加的。我不确定您将如何检索这些动态元素。
  • 感谢克里斯的评论。我想你是对的,但想知道是否有人可以给我提示如何加载我正在寻找的位。
  • 你找到方法了吗???我也有同样的问题

标签: c# screen-scraping html-agility-pack


【解决方案1】:

我一般不熟悉 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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-04-10
    • 2012-01-08
    • 2018-04-25
    • 1970-01-01
    • 1970-01-01
    • 2013-12-30
    • 2016-06-10
    • 2018-07-19
    相关资源
    最近更新 更多