Сделайте Crawler с поддержкой JavaScript - PullRequest
2 голосов
/ 30 ноября 2011

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

Места размещения баннеров чаще всего относятся к известным доменам.Но баннеры не представлены в HTML как простое изображение или swf-файл.В большинстве случаев для показа баннера используется Javascript.

Так что, если из домена баннера загружается .swf-файл или файл изображения, он должен возвращать этот URL.Это возможно сделать?И как я мог бы сделать это примерно?

Лучше всего было бы, если бы он также мог вернуть целевую страницу этого объявления.Как это решить?

Ответы [ 2 ]

3 голосов
/ 30 ноября 2011

Вы можете использовать селен, чтобы открыть страницы в реальном браузере, а затем получить доступ к DOM.

PhantomJS также стоит посмотреть - это безголовая версия WebKit (движок Chrome, Safari и т. Д.).

Однако, ни одно из этих решений не является чистым php - если это требование, вам, вероятно, придется написать свой собственный движок JavaScript на PHP (что я бы не попросил, чтобы мой злейший враг сделал;))

0 голосов
/ 13 декабря 2011

Чтобы получить вывод JavaScript, вам понадобится движок JavaScript (например, Google V8 Engine).Движок V8 написан на C ++, но есть некоторые ресурсы, которые сообщают вам о встраивании движка V8 в PHP .

. При этом вы должны изучить вывод «вручную» и определитьчто именно можно почистить и как это идентифицировать.После того, как вы определили общий синтаксис для рекламных баннеров, вы можете написать скрипт для извлечения баннера и целевой страницы, на которую ссылаются.

Ничто из этого не является простой работой, но если у вас есть примеробъявления, которое вы хотели бы получить, тогда я могу дать вам больше советов.

...