CasperMagic — это интеграция на основе PhantomJS, CasperJS и WebMagic. CasperJS позволяет легко тестировать динамические веб-страницы, но JavaScript не очень удобен для выполнения задач по сбору данных и аналитики. Обычные пауки с трудом могут получить содержание динамических веб-страниц или выполнять действия над страницами и извлекать данные. CasperMagic представляет собой упаковку CasperJS с использованием WebMagic.
Как и у CasperJS, режим работы CasperMagic также основан на последовательной модели. Когда требуется выполнение действий над страницей, действие, основанное на одном теге, считается одним Action'ом. Несколько таких Action'ов образуют ActionChain, который выполняется последовательно согласно порядку ActionChain. В конце концов получается страница после выполнения всех действий, а затем используются средства WebMagic для извлечения данных.
Для выполнения CasperMagic требуются установленные PhantomJS и CasperJS, а также правильно настроенные пути к ним в системе. CasperMagic создаёт соответствующие JS-скрипты на основе ActionChain и выполняет эти скрипты для получения данных с веб-страниц.
Настройка ActionChain довольно проста:```java ActionChain chain = new ActionChain(); ActionNode node = new ActionNode(); node.setNodetype(ActionNodeType.CLICK).setEventElement("div.article-content p a"); chain = ActionFactory.CreateActionChain(node).ChainEnd("click.js"); Spider.create(this).startUrls(urls).setDownloader(new JsDownload(env, chain).setEnableClick(true)).run();
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )