Aszinkron betöltésű weboldalak forráskódjának letöltése

 Ha a HttpClient segítségével letöltöd a weboldal forráskódját, de nem találod a megjelenített szöveget a visszakapott HTML-ben, akkor elképzelhető, hogy a szöveg későbbi aszinkron betöltése miatt hiányzik.


A weboldalak gyakran használnak JavaScript-et és aszinkron kéréseket a tartalom dinamikus betöltésére.

Ebben az esetben lehet, hogy a HttpClient nem kezeli a JavaScript-et és az aszinkron kéréseket. Ehelyett meg kellene próbálnod egy olyan eszközt használni, amely támogatja a JavaScript futtatását és az aszinkron kéréseket, például a Selenium WebDriver-t.

Itt egy példa arra, hogyan használhatod a Selenium WebDriver-t C# nyelven:

  • Telepítsd a Selenium WebDriver csomagot NuGet segítségével. A NuGet Package Manager Console-ban írd be:
                     Install-Package Selenium.WebDriver
  • Használd a következő kódot:
using OpenQA.Selenium;
using OpenQA.Selenium.Chrome;
using System;

class Program
{
    static void Main()
    {
        string url = "https://www.vsin.com/matchup/nhl/bos_fla/2023-11-22/?tab=MatchupAnalysis";

        using (IWebDriver driver = new ChromeDriver())
        {
            // Nyisd meg a weboldalt a Chrome böngészőben
            driver.Navigate().GoToUrl(url);

            // Várj egy kicsit, hogy a JavaScript és az aszinkron betöltődés befejeződjön
            System.Threading.Thread.Sleep(5000);

            // Most már elérheted a weboldal teljes tartalmát, beleértve a dinamikusan betöltött részeket
            string pageSource = driver.PageSource;

            // Kiírhatod a konzolra vagy dolgozhatsz tovább a tartalommal
            Console.WriteLine(pageSource);
        }
    }
}

Ez a példa a ChromeDriver-t használja, és vár egy rövid ideig (5 másodperc) a JavaScript és az aszinkron betöltődés befejeződésére, mielőtt elérné a weboldal tartalmát. Ne felejtsd el beállítani a ChromeDriver útvonalát a gépeden, vagy töltsd le és telepítsd a ChromeDriver-t a projekt könyvtárába.

Fontos megjegyezni, hogy a weboldal tartalmának letöltése, különösen harmadik fél weboldalak esetén, szabályozott lehet az adott weboldal felhasználási feltételeivel. Ügyelj arra, hogy a weboldalakat etikusan és a felhasználási feltételeikkel összhangban használd.

Jó programozást