Pobieranie danych z allegro

0

Witam,
Napisałem aplikację w selenium + c# która wchodzi na stronę allegro i pobiera sprzedaż towaru. Niestety allegro od pewnego czasu od razu wykrywa mi boota i nie przepuszcza dalej. Nie miałem wiele zapytań na minutę, góra jedno. Zmieniam IP przez VPN, ale od razu też mnie wyłapują. Testowałem na różnych przeglądarkach i zmieniałem headery. Jak się loguje przez normalną przeglądarkę to działa strona poprawnie...
Macie jakiś pomysł jak to obejść?
Dzięki

0

Dzięki. Zmiana w pliku chrome (jak w linku), plus dodanie:

        ChromeOptions options = new ChromeOptions();//Wersja 99.0.4844.84

        options.AddArgument(@"--profile-directory=Profile 1");
        options.AddArgument(@"--disable-blink-features=AutomationControlled"); //navigator.webdriver daje na false

        options.AddArgument(@"--user-data-dir=C:\Users\Komp\AppData\Local\Google\Chrome\User Data");
        options.AddExcludedArguments(new List<string>() { "enable-automation" });
        //  options.AddArguments(@"user-data-dir=" + Application.StartupPath + "\\profile")

        IWebDriver driver = new ChromeDriver(options);
        IDevTools devTools = driver as IDevTools;
        DevToolsSession session = devTools.GetDevToolsSession();
        var domains = session.GetVersionSpecificDomains<DevToolsSessionDomains>();
        domains.Page.Enable(new OpenQA.Selenium.DevTools.V96.Page.EnableCommandSettings());
        domains.Page.AddScriptToEvaluateOnNewDocument(new AddScriptToEvaluateOnNewDocumentCommandSettings()
        {
            Source = "Object.defineProperty(navigator, 'webdriver', { get: () => undefined })"
        });

        driver.Manage().Window.Position = new System.Drawing.Point(8, 39);
        driver.Manage().Window.Size = new System.Drawing.Size(1100, 700);

        driver.Manage().Timeouts().ImplicitWait = System.TimeSpan.FromSeconds(5);
        driver.Manage().Timeouts().PageLoad = System.TimeSpan.FromSeconds(6);

        driver.Navigate().GoToUrl("https://www.wp.pl");



        Plus nagłówki:
using OpenQA.Selenium;
using OpenQA.Selenium.Chrome;
using OpenQA.Selenium.DevTools;
using OpenQA.Selenium.Firefox;
using System.Collections.Generic;
using System.Globalization;
using System.Text;
using System.Text.RegularExpressions;
using OpenQA.Selenium.DevTools.V96.Page;
using Network = OpenQA.Selenium.DevTools.V96.Network;
using DevToolsSessionDomains = OpenQA.Selenium.DevTools.V96.DevToolsSessionDomains;

Na razie działa. Oczywiście losowo z zakresu 1-2 minut pobieram jedną aukcję.

0

I jak zadziałało ?

hansikkk napisał(a):

Dzięki. Zmiana w pliku chrome (jak w linku), plus dodanie:

        ChromeOptions options = new ChromeOptions();//Wersja 99.0.4844.84

        options.AddArgument(@"--profile-directory=Profile 1");
        options.AddArgument(@"--disable-blink-features=AutomationControlled"); //navigator.webdriver daje na false

        options.AddArgument(@"--user-data-dir=C:\Users\Komp\AppData\Local\Google\Chrome\User Data");
        options.AddExcludedArguments(new List<string>() { "enable-automation" });
        //  options.AddArguments(@"user-data-dir=" + Application.StartupPath + "\\profile")

        IWebDriver driver = new ChromeDriver(options);
        IDevTools devTools = driver as IDevTools;
        DevToolsSession session = devTools.GetDevToolsSession();
        var domains = session.GetVersionSpecificDomains<DevToolsSessionDomains>();
        domains.Page.Enable(new OpenQA.Selenium.DevTools.V96.Page.EnableCommandSettings());
        domains.Page.AddScriptToEvaluateOnNewDocument(new AddScriptToEvaluateOnNewDocumentCommandSettings()
        {
            Source = "Object.defineProperty(navigator, 'webdriver', { get: () => undefined })"
        });

        driver.Manage().Window.Position = new System.Drawing.Point(8, 39);
        driver.Manage().Window.Size = new System.Drawing.Size(1100, 700);

        driver.Manage().Timeouts().ImplicitWait = System.TimeSpan.FromSeconds(5);
        driver.Manage().Timeouts().PageLoad = System.TimeSpan.FromSeconds(6);

        driver.Navigate().GoToUrl("https://www.wp.pl");



        Plus nagłówki:
using OpenQA.Selenium;
using OpenQA.Selenium.Chrome;
using OpenQA.Selenium.DevTools;
using OpenQA.Selenium.Firefox;
using System.Collections.Generic;
using System.Globalization;
using System.Text;
using System.Text.RegularExpressions;
using OpenQA.Selenium.DevTools.V96.Page;
using Network = OpenQA.Selenium.DevTools.V96.Network;
using DevToolsSessionDomains = OpenQA.Selenium.DevTools.V96.DevToolsSessionDomains;

Na razie działa. Oczywiście losowo z zakresu 1-2 minut pobieram jedną aukcję.

1 użytkowników online, w tym zalogowanych: 0, gości: 1