2017-03-14 8 views
1

私は自分のC#プロジェクトGeckofxとHtmlagilitypackを使っていくつかのWebサイト(Xing、LinkedInなど)を解析しています。 LinkedInはウェブページを更新しているため、情報を解析することはできません。ページがロードされた後に情報がajaxでロードされているためです。そのため、必要な情報はソースコードで準備されていないため、情報を取得するためにHtmlAgilityPackが無効になっています。 https://www.linkedin.com/in/johntroch/HTMLagilitypackはコンテンツを解析できません

どのように私は、コンテンツを解析することができます。たとえば

ページを参照してください?

+0

リンク先のリンクから取得したいものは何ですか? –

+0

たとえば、彼の名前、地位、都市ですが、ソースコードを見ると絶対に情報はありません。 –

答えて

0

私は今週初めに同じことを考えていました。この同様の質問から答えはまだ適用される場合は残念ながら、使用して行うことは不可能であるだけでHTMLAgilityPack :(

あなたは HAPでそれを行うことはできませんが、セレンの助けを借りてそれを行うことができます

HTMLAgilityPack load AJAX content for scraping

+0

HTMLAgilityPackの代わりに何を使うべきですか? –

+0

Firefox内でfirebugアドオンを試してみることができます。これは、HTMLAgilityPackとは異なり、マークアップだけでなく、DOMを使用すると考えています。標準のXPATHの代わりに、できるだけクラスごとにdivを得るために支払うでしょう。サイト構造が変更された場合は、コードを更新することを気にしない限り。 –

0

ウェブヘッドレスブラウザ用ドライバ/ WebブラウザコントロールまたはPhantomJSここPhantomJSドライバを使用してのサンプルがある

IWebDriver driver = new PhantomJSDriver(); 
driver.Navigate().GoToUrl("https://www.linkedin.com/in/johntroch/"); 
var backpack = driver.FindElement(By.XPath("//*[contains(@class,'profile-overview')]")); 

上記のコード部分は、あなたにこの取得します:。。

をここ

は、あなたがPhantomJSを使用する方法のLinkで、セレンVisit this

1

のために私は手動制御とそれを解決:

   while (!getSource().Contains("any text");) 
       { 
        Application.DoEvents(); 
       } 

のgetSource()私のソースコードを提供する別の方法でありますページの私は私のテキストを取得するまでのチェックを行います。それから、私はすべてのソースコードを動的コンテンツで取得します。

関連する問題