¿Html-Agility-Pack no carga la página con contenido completo?

asp.net html-agility-pack html-parsing scrape web-scraping

Pregunta

Estoy usando Html Agility Pack para obtener datos del sitio web (desguace)

Mi problema es que el sitio web desde el que estoy obteniendo los datos es cargar parte del contenido después de unos segundos de carga de la página.

Entonces, cuando intento leer los datos particulares de Div particular me está dando nulo.

pero en la var page no acabo de recibir la división reviewBox ..becuase no está cargada todavía.

public void FetchAllLinks(String Url)
{
    Url = "http://www.tripadvisor.com/";
    HtmlDocument page = new HtmlWeb().Load(Url);

    var link_list= page.DocumentNode.SelectNodes("//div[@class='reviewBox']");

    foreach (var link in link_list)
    {
        htmlpage.InnerHtml = link.InnerHtml;
    }
}

así que alguien puede decirme cómo retrasar la solicitud que

HtmlDocument page = new HtmlWeb().Load(Url);

cargará los datos completos en la page varibale

Respuesta popular

No se trata de retrasar la solicitud. Ese nodo se rellena con javascript utilizando el DOM y el paquete de agilidad de Html es la herramienta incorrecta para ese requisito (no es un motor web, solo carga el Html base).

Cuando necesito llegar a cosas que requieren un motor web completo para analizar, normalmente uso WatiN . Está diseñado para ayudar a la unidad a probar las páginas web reales, pero eso significa que permite el acceso programático a las páginas web a través de un motor de navegador determinado y cargará el documento completo. Viene con los controladores de IE o Firefox listos para usar y recuerdo vagamente que Chrome tampoco fue difícil de usar.



Related

Licencia bajo: CC-BY-SA with attribution
No afiliado con Stack Overflow
¿Es esto KB legal? Sí, aprende por qué
Licencia bajo: CC-BY-SA with attribution
No afiliado con Stack Overflow
¿Es esto KB legal? Sí, aprende por qué