Выполнение JavaScript кода во время парсинга.

Как выполнить JavaScript код во время парсинга?

Очень часто во время парсинга сайтов возникает проблема вычисления различных данных нужных, например, для запроса следующей страницы. Ситуаций, где потребуются дополнительные вычисления, может быть очень много, но большая часть из них может быть решена с помощью команды eval.

Для примера представим что нам нужно получить текущее время в формате unix-time(%s) и добавить его к какому-то линку что бы сделать запрос.
Эта проблема решается несколькими способами:

1:

Сохраним линк в переменную, выполним eval и соединим значения, обратите внимание что если вам нужно вернуть значение в регистр ваша функция должна быть обернута в замыкание и иметь return в конце выполнения.

2:

Второй способ это записать значение из js функции в переменную. Для этого используется подкоманда assign.

3:

Или мы можем передать переменную в javascript код, и вернуть нужное нам значение сразу.

Обратите внимание что все переменные должны быть обёрнуты в кавычки, т.к являются строковыми.
Можно писать более сложные функции, так же можно выполнять функции которые находятся на странице в тегах скрипт, но вы должны помнить что функции не работают с DOM и функции не должны выполняться длительное время.

В противном случае вы увидите что-то вроде этого:

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *