Как избежать «Пожалуйста, убедитесь, что вы человек» с Headless Chrome Node.js API? - PullRequest
0 голосов
/ 18 апреля 2020

Я пытаюсь использовать API Puppeteer для генерации некоторых изображений в формате pdf с веб-сайтов, но обнаружение бота Perimeterx обнаруживает его как бот и блокирующий сайт. Легко ли обойти это, используя Puppeteer для имитации c реальных заголовков браузера и обходного бота-защитника?

            var options = new LaunchOptions
        {
            Headless = true
        };

        Console.WriteLine("Downloading chromium");
        await new BrowserFetcher().DownloadAsync(BrowserFetcher.DefaultRevision);

        Console.WriteLine("Navigating");
        using (var browser = await Puppeteer.LaunchAsync(options))
        using (var page = await browser.NewPageAsync())
        {
            await page.GoToAsync("https://www.matchesfashion.com");

            Console.WriteLine("Generating PDF");
            await page.PdfAsync(Path.Combine(Directory.GetCurrentDirectory(), "image.pdf"));

            Console.WriteLine("Export completed");

            if (!args.Any(arg => arg == "auto-exit"))
            {
                Console.ReadLine();
            }
        }
...