[ad_1]
やあ、
ブラウザー (YouTube など) の Web ページのソース コードと、以下のコードから取得したソース コードを比較すると、違いがあります。 ソースコードは同じではなく、DOM 操作が原因であると思われます。
<br /> var webGet = new HtmlWeb();<br /> HtmlAgilityPack.HtmlDocument document = webGet.Load(_url);<br />
javascript や ajax をプログラムで (C# を使用して) 操作した後に、HTML ソース コードを取得することは可能ですか?
前もって感謝します!
解決策 1
はいといいえ。 これらの DOM 操作は、ドキュメントが HTTP サーバーから既に配信された後、純粋にクライアント側で行われます。 HttpWebResponse
. したがって、サーバーから HTML ファイルのみをダウンロードする場合 ( HttpWebRequest
) DOM が操作される前の状態のドキュメントしか取得できません。
それで、あなたは何ができますか? これらの操作はすべて、Web ブラウザーと同様にクライアント側で再現できます。 この目的のために、次を使用して Web ページに移動できます。 System.Windows.Forms.WebBrowser
. このクラスのインスタンスを使用して、DOM を自分で操作することもできます。 見る System.Windows.Forms.WebBrowser.Document
、 System.Windows.Forms.WebBrowser.DocumentText
、 そのイベント System.Windows.Forms.WebBrowser.Navigated
、 System.Windows.Forms.WebBrowser.DocumentCompleted
の http://msdn.microsoft.com/en-us/library/system.windows.forms.webbrowser.aspx[^].
[ad_2]
コメント