Html-Agility-Pack ne charge pas la page avec le contenu complet?

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

Question

J'utilise Html Agility Pack pour récupérer les données du site Web (mise au rebut)

Mon problème est que le site Web à partir duquel je récupère les données est chargé du contenu après quelques secondes de chargement de la page.

Donc, chaque fois que j'essaie de lire les données de Div en particulier, cela me donne la valeur nulle.

mais dans var page je ne reçois tout simplement pas la reviewBox reviewBox ..caractériser sa chargé pas encore.

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;
    }
}

alors quelqu'un peut-il me dire comment retarder la demande

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

chargera les données complètes dans la page varibale

Réponse populaire

Il ne s'agit pas de retarder la demande. Ce nœud est peuplé par javascript à l'aide du DOM et le Pack d'agilité HTML n'est pas le bon outil pour cette exigence (ce n'est pas un moteur Web, il ne charge que le HTML de base).

Lorsque je dois analyser des éléments nécessitant un moteur Web complet, j'utilise généralement WatiN . Il est conçu pour aider l'unité à tester les pages Web réelles, mais cela signifie qu'il permet l'accès programmatique aux pages Web via un moteur de navigateur donné et charge le document complet. Il est livré avec des pilotes IE ou Firefox prêts à l'emploi et je me souviens vaguement que Chrome n'était pas difficile à utiliser non plus.



Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Est-ce KB légal? Oui, apprenez pourquoi
Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Est-ce KB légal? Oui, apprenez pourquoi