[英]Import HTML page after full loading (to parsing)
我想按URL閱讀和解析頁面。 我動態創建的網址。 https://search.aviasales.ru/MOW2405CHI30061 (城市從-驅逐日期-城市到-日期到-數量)。 但是它的頁面沒有完全加載。 在最初的幾秒鍾內僅加載一部分。 如果我嘗試像這樣加載它:
System.Net.WebClient web = new System.Net.WebClient();
web.Encoding = UTF8Encoding.UTF8;
string str = web.DownloadString("https://search.aviasales.ru/MOW2405ATH30061");
HtmlDocument doc = new HtmlDocument();
doc.LoadHtml(str);
我得到頁面的一部分。 但是我需要其他部分。 幾個時間(角度腳本或局部視圖)后,它將部分加載。 如何加載完整頁面?
該頁面使用AJAX加載數據,因此您的代碼將只為您提供基本的容器HTML,而不是您想要的位。
您必須研究主頁的源代碼,閱讀Javascript並弄清楚它進行了哪些AJAX調用來獲取數據。 然后,您需要調用這些URL並解析數據。
這就是所謂的“屏幕刮擦”,有很多陷阱。 值得一讀,並確保您知道自己要輸入的內容,因為您可以投入大量工作來抓取他們的頁面,而只是讓他們進行簡單的更改就完全破壞了您的代碼。
還值得檢查一下他們是否具有可以調用的API,因為這將被記錄在案並且可以更改。 您嘗試執行此操作的方法非常脆弱。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.