WedX - журнал о программировании и компьютерных науках

Как сделать кукловода необнаружимым?

Я пытаюсь очистить веб-сайт супермаркета с помощью кукловода. Я могу очистить его с помощью плагина Chrome Web Scraper, хотя мне бы хотелось, чтобы у меня была возможность делать это программно. Все, что я получаю, - это пустой экран, и на странице не загружается никакой контент.

Я перепробовал все советы и уловки в сети, чтобы сделать кукловода необнаружимым, и ничего не помогло. См. Ниже. Я установил несколько параметров, которые напоминают обычный сеанс браузера, хотя, похоже, ничего не работает. Есть ли у кого-нибудь советы, которые могут помочь мне очистить этот сайт?

Вот код, который я пробовал:

const puppeteer = require('puppeteer');

(async function main() {
    try {

        const args = [
            '--no-sandbox',
            '--disable-setuid-sandbox',
            '--disable-infobars',
            '--window-position=0,0',
            '--ignore-certifcate-errors',
            '--ignore-certifcate-errors-spki-list',
            '--user-agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3312.0 Safari/537.36"'
        ];

        const options = {
            args,
            headless: false,
            ignoreHTTPSErrors: true,
            userDataDir: './tmp',
            dumpio: true,
            devtools: true
        };

        //launch the browser
        const browser = await puppeteer.launch(options);

        //open new page
        const page = await browser.newPage();

        //set the browser viewport
        await page.setViewport({
            width: 1920,
            height: 1080,
        });

        //set the language to english
        await page.setExtraHTTPHeaders({
            'Accept-Language': 'en'
        });
        //set the URL in a variable
        const url = 'https://shop.coles.com.au/a/a-national/product/vanish-napisan-gold-pro-oxiaction';
        //Go to the page
        await page.goto(url, { "waitUntil": "networkidle2" });
        //get the title
        const productTitle = await page.$eval('span.product-name', el => el.innerText.trim());
        //log the title in the console
        console.log(productTitle);


    } catch (e) {
        console.log('our error', e);
    }

})();

Что еще мне попробовать?


Ответы:


1

Это отправка в скрипт отпечатка пальца.

Так что как-то вам нужно это перехватить и изменить.

charles

26.07.2019
Новые материалы

Я хотел выучить язык программирования MVC4, но не мог выучить его раньше, потому что это выглядит сложно…
Просто начните и учитесь самостоятельно Я хотел выучить язык программирования MVC4, но не мог выучить его раньше, потому что он кажется мне сложным, и я бросил его. Это в основном инструмент..

Лицензии с открытым исходным кодом: руководство для разработчиков и создателей
В динамичном мире разработки программного обеспечения открытый исходный код стал мощной парадигмой, способствующей сотрудничеству, инновациям и прогрессу, движимому сообществом. В основе..

Объяснение документов 02: BERT
BERT представил двухступенчатую структуру обучения: предварительное обучение и тонкая настройка. Во время предварительного обучения модель обучается на неразмеченных данных с помощью..

Как проанализировать работу вашего классификатора?
Не всегда просто знать, какие показатели использовать С развитием глубокого обучения все больше и больше людей учатся обучать свой первый классификатор. Но как только вы закончите..

Работа с цепями Маркова, часть 4 (Машинное обучение)
Нелинейные цепи Маркова с агрегатором и их приложения (arXiv) Автор : Бар Лайт Аннотация: Изучаются свойства подкласса случайных процессов, называемых дискретными нелинейными цепями Маркова..

Crazy Laravel Livewire упростил мне создание электронной коммерции (панель администратора и API) [Часть 3]
Как вы сегодня, ребята? В этой части мы создадим CRUD для данных о продукте. Думаю, в этой части я не буду слишком много делиться теорией, но чаще буду делиться своим кодом. Потому что..

Использование машинного обучения и Python для классификации 1000 сезонов новичков MLB Hitter
Чему может научиться машина, глядя на сезоны новичков 1000 игроков MLB? Это то, что исследует это приложение. В этом процессе мы будем использовать неконтролируемое обучение, чтобы..


Для любых предложений по сайту: [email protected]