Html-Agility-Pack non sta caricando la pagina con il contenuto completo?

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

Domanda

sto usando Html Agility Pack per recuperare i dati dal sito web (demolizione)

Il mio problema è che il sito web di cui sto recuperando i dati carica alcuni contenuti dopo pochi secondi di caricamento della pagina.

QUINDI, ogni volta che sto cercando di leggere i dati particolari di particolari Div, mi sta dando nulla.

ma in var page ho appena non ottenere la divisione reviewBox ..becuase la sua non ancora caricati.

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

quindi qualcuno può dirmi come ritardare la richiesta

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

caricherà i dati completi nella page varibale

Risposta popolare

Non si tratta di ritardare la richiesta. Quel nodo è popolato da javascript utilizzando il DOM e il pacchetto di agilità Html è lo strumento sbagliato per tale requisito (non è affatto un motore Web, ma carica solo l'Html di base).

Quando ho bisogno di ottenere cose che richiedono un motore web completo per analizzare, solitamente utilizzo WatiN . È progettato per consentire alle unità di testare le pagine Web effettive, ma ciò significa che consente l'accesso programmatico alle pagine Web tramite un determinato motore di ricerca e caricherà l'intero documento. Viene fornito con IE o driver di Firefox fuori dalla scatola e ricordo vagamente che anche Chrome non è stato difficile da usare.




Autorizzato sotto: CC-BY-SA with attribution
Non affiliato con Stack Overflow
È legale questo KB? Sì, impara il perché
Autorizzato sotto: CC-BY-SA with attribution
Non affiliato con Stack Overflow
È legale questo KB? Sì, impara il perché