Html-Agility-完全なコンテンツのページを読み込まないパック?

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

質問

私は、Webサイトからデータを取得するために、Html Agility Packを使用しています(廃止)

私の問題は、私は、データを取得しているから、ページロードの数秒後にコンテンツの一部を読み込むことです。

私が特定のDivから特定のデータを読み込もうとするたびに、それは私にnullを与えます。

しかしvar page私はちょうど除算reviewBoxボックスを取得していません..まだ読み込まれていない。

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

だから誰でも私にそのリクエストを遅らせる方法を教えてください

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

page varibaleに完全なデータをロードしpage

人気のある回答

それは要求を遅らせることではありません。そのノードはDOMを使ってjavascriptによって生成され、HTML Agility Packはその要件のための間違ったツールです(Webエンジンではなく、ベースHtmlのみを読み込みます)。

解析するために完全なWebエンジンが必要なものを取得する必要があるときは、通常WatiNを使用します 。単体テストの実際のWebページを支援するように設計されていますが、それは特定のブラウザエンジンを介してWebページにプログラムでアクセスし、完全なドキュメントを読み込むことを意味します。それは、IEまたはFirefoxのドライバが付属しているので、Chromeは使いにくくないことを漠然と思い出しています。



ライセンスを受けた: CC-BY-SA with attribution
所属していない Stack Overflow
このKBは合法ですか? はい、理由を学ぶ
ライセンスを受けた: CC-BY-SA with attribution
所属していない Stack Overflow
このKBは合法ですか? はい、理由を学ぶ