Webスクレイピングのチュートリアルを読んだ後、Seleniumを使用してみました。
目的は、Ajax呼び出しの後に必要なデータをロードするページをWeb /画面でスクレイピングすることです(このajax呼び出しは最初のページのロード後に行われます)。
2番目の目的は、Seleniumコードをバックグラウンドで(ブラウザーを開かずに)実行して、ページ(Ajax呼び出しを含む)をロードし、最終的なHTMLを取得し、必要な処理をローカルで実行できるようにすることです。
これまでのコードは次のとおりです(http://www.geekonweb.com/net/web-page-scraping-using-selenium-and-net/からのコードチュートリアル)
public ActionResult Index()
{
//--
//Below path should contain IEDriverServer.exe
var chrome = new ChromeDriver(@"file path");
chrome.Url = @"<url>";
chrome.Navigate();
//extract the html
//var retval = ie.ExecuteScript("return document.body.outerHTML");
string result = chrome.PageSource;
return View();
}
現在、Seleniumをサイレントに実行する方法を見つけることができませんでした(GUIなし)。それができるなら親切に助けてください。
次に、Ajax呼び出しが終了するのを待ってからデータを取得するようにSeleniumに指示する方法を教えてください。
よろしく、