Есть ли библиотека, чем можно таскаться через AJAX/javascript?

Я использую PHP для очистки некоторой информации с веб-страниц, однако я обнаружил, что информация, которую я пытаюсь очистить со страниц, загружается каким-то образом AJAX/javascript. Я думал, что вспомнил, что Curl может перебирать javascript, но я обнаружил, что это не так.

Кажется, я помню какую-то внутреннюю библиотеку/функцию «веб-браузера», которая могла отслеживать через javascript и AJAX, чтобы получить конечный результат страницы, к которому придет полнофункциональный браузер.

Есть ли библиотека или функция, которая может это сделать? Любые идеи о том, как это сделать, кроме того, что мне нужно вручную отслеживать сценарии/перенаправления? Это не обязательно должно быть красиво — я просто пытаюсь очистить полученный текст.


person Coldblackice    schedule 17.06.2012    source источник


Ответы (2)


Может быть, не в php, но в других языках есть: Watir/WatiN, selenium, watir/selenium-webdriver, capybara-webkit, celerity, node.js запускает js напрямую, а также phantomjs. Есть также iMacros и аналогичные коммерческие варианты.

Но обычно я обнаруживаю, что могу получить нужные данные без каких-либо из них, просто просматривая запросы, которые делает страница, и воссоздавая их/анализируя ответ.

person pguardiario    schedule 18.06.2012

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

Обратите внимание, что даже бот-индексатор Google не обрабатывает ajax. Вот что говорит об этом Google. Вполне возможно, что сайт, с которым вы имеете дело, это поддерживает, в таком случае вы можете попробовать использовать этот прием google, но в целом, к сожалению, вам не повезло.

person Aleks G    schedule 17.06.2012
comment
На самом деле есть очень веские доказательства того, что поисковые роботы Google в настоящее время тесно связаны с Chrome и что они прекрасно сканируют контент AJAX: webmasterworld.com/google/4159807.htm - person ; 17.06.2012
comment
@duskwuff Да, я видел этот пост раньше. Однако, если судить по журналам моего веб-сайта, Google не сканирует ajax. - person Aleks G; 17.06.2012