JS парсер/эмулятор браузера

Тема в разделе "PHP", создана пользователем Raccoon, 30 авг 2017.

Статус темы:
Закрыта.
Модераторы: latteo
  1. Raccoon

    Raccoon

    Регистр.:
    31 июл 2007
    Сообщения:
    177
    Симпатии:
    9
    Есть ли какой-нибудь эмулятор бразуера, который сможет зайти на сайт и спарсить http headers. Мне надо знать куда стучаться JS скрипты после выполнения, сейчас делаю это с обычного браузера со своего компьютера, хотелось бы это запихнуть на сервер и автоматизировать.

    Т.е. грубо говоря, сейчас я делаю ручной отлов исполнения js и смотрю куда они стучаться, потом парсю объявления оттуда, есть ли какое-нибудь решение в 2017 году, которое может это делать самостоятельно без участия человека по шаблонам?

    В целом большинство сайтов я парсю с помощью обычного curl-а и регекспов, но структура некоторых отмороженных сайтов бывает такой, что когда дело касается сжатых javascript-ов и ajax-запросов, расшифровать их и извлечь информацию с помощью обычного curl-а и регекспов становится дороже самой информации.
     
    Последнее редактирование модератором: 30 авг 2017
  2. Q_BASIC

    Q_BASIC

    Регистр.:
    30 ноя 2013
    Сообщения:
    482
    Симпатии:
    1.184
    А там такой сложный JS? Обычно прямо на странице всё указано, типа:
    HTML:
    <a onclick="request('123', 'dwd91d81dsaokd912uwd')">Send</a>
    HTML:
    <input type="hidden" name="token" value="ad01wd" />
    Или массивы JS:
    HTML:
    <script>
    var code = ['dhqasd81shdhssad', '1wd3dasdwd231dwsd'];
    </script>
    А первая часть всегда одинаковая, например: site.ru/order/wahjd197dhuduwi1d

    Сделать простой запрос к странице, с помощью preg_match найти нужный код, сохранить куки и отправить запрос дальше
     
    dana77 нравится это.
  3. Raccoon

    Raccoon

    Регистр.:
    31 июл 2007
    Сообщения:
    177
    Симпатии:
    9
    Наткнулся на один сайт, он генерит шифр на JS и добавляет его к запросу site.ru/json.php?id=123&hash=nfkdsnfksjnfsdnjfndksjnfkdsj и чтобы мне этот шифр вскрыть надо перелопатить 3 листа JS кода. И такое встречается частенько, по крайней мере к этому идет, сайты пытаются защититься и парсинг становится трудозатратней. Мне бы какой-нибудь эмулятор, было бы побыстрее и полегче. Пойду гуглить дальше.
     
  4. latteo

    latteo Эффективное использование PHP, MySQL

    Moderator
    Регистр.:
    28 фев 2008
    Сообщения:
    1.611
    Симпатии:
    1.539
    Гугли phantomJS или Selenium, они позволяют имитрировать работу браузера или запустить браузер и управлять им из своего ЯП.
     
  5. Raccoon

    Raccoon

    Регистр.:
    31 июл 2007
    Сообщения:
    177
    Симпатии:
    9
    Да уже нашел эти варианты, буду разбираться.
     
Статус темы:
Закрыта.