1 Обзор
Что включает в себя серия сканеров Java?
- Начало работы с фреймворком java-краулера webmgic
- Сканирование с помощью webmgicady01.comРесурсы фильмов в (страница со списком боевиков, адрес загрузки фильма и т. д.)
- Сканирование с помощью webmgicКомпьютерное времяРесурсы курса (курсы из серии статей и курсы из серии видео)
Основное содержание этой статьи:
- Познакомить с полезной структурой сканера в Java.
- Введение в веб-магию платформы сканера Java
- Используйте webgic для сканирования информации списка боевиков
2. Полезный фреймворк сканера в java
Как определить, хорош ли фреймворк?
- Его легко освоить и использовать, а соответствующие учебные материалы в Интернете становятся все более полными.
- Есть много людей, которые его используют, а существующие ямы были заполнены другими для вас, так что пользоваться будет приятнее.
- Фреймворк быстро обновляется, сообщество активно, вы можете быстро опробовать некоторые улучшенные функции и пообщаться с автором.
- Фреймворк стабилен и легко расширяется
В соответствии с приведенными выше пунктами порекомендуйте очень полезную среду для сканирования Java.webmgic
3. Введение в webmgic
- WebMagicЭто простая и гибкая платформа сканера Java. на основеWebMagic, вы сможете быстро разработать эффективный и простой в обслуживании сканер.
- webmagicОфициальный сайт:webmagic.io/
- Webmgic документы для изучения китайского языка:webmagic.io/docs/zh/
4. Используйте webgic для сканирования списка боевиков
Сканирование с помощью webgicфильмы о любвиИнформация о ресурсах списка фильмов
1. Создайте новый проект springboot java-pachong
2. Импорт конфигурации maven
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<!-- webmagic start -->
<dependency>
<groupId>us.codecraft</groupId>
<artifactId>webmagic-core</artifactId>
<version>0.7.3</version>
<exclusions>
<exclusion>
<artifactId>fastjson</artifactId>
<groupId>com.alibaba</groupId>
</exclusion>
<exclusion>
<artifactId>commons-io</artifactId>
<groupId>commons-io</groupId>
</exclusion>
<exclusion>
<artifactId>commons-io</artifactId>
<groupId>commons-io</groupId>
</exclusion>
<exclusion>
<artifactId>fastjson</artifactId>
<groupId>com.alibaba</groupId>
</exclusion>
<exclusion>
<artifactId>fastjson</artifactId>
<groupId>com.alibaba</groupId>
</exclusion>
<exclusion>
<artifactId>log4j</artifactId>
<groupId>log4j</groupId>
</exclusion>
<exclusion>
<artifactId>slf4j-log4j12</artifactId>
<groupId>org.slf4j</groupId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>us.codecraft</groupId>
<artifactId>webmagic-extension</artifactId>
<version>0.7.3</version>
</dependency>
<dependency>
<groupId>us.codecraft</groupId>
<artifactId>webmagic-selenium</artifactId>
<version>0.7.3</version>
</dependency>
<dependency>
<groupId>net.minidev</groupId>
<artifactId>json-smart</artifactId>
<version>2.2.1</version>
</dependency>
<!-- webmagic end -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.49</version>
</dependency>
<dependency>
<groupId>commons-lang</groupId>
<artifactId>commons-lang</artifactId>
<version>2.6</version>
</dependency>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.6</version>
</dependency>
<dependency>
<groupId>commons-codec</groupId>
<artifactId>commons-codec</artifactId>
<version>1.11</version>
</dependency>
<dependency>
<groupId>commons-collections</groupId>
<artifactId>commons-collections</artifactId>
<version>3.2.2</version>
</dependency>
</dependencies>
3. Напишите код для захвата данных фильма
-
Посетите в Google ChromeСписок боевиков о любви
-
F12 находит, что данные в странице списка получены через ajax-запрос, получаем адрес запроса
-
Напишите код парсинга
package com.ady01.demo1;
import lombok.extern.slf4j.Slf4j;
import us.codecraft.webmagic.Page;
import us.codecraft.webmagic.Site;
import us.codecraft.webmagic.Spider;
import us.codecraft.webmagic.processor.PageProcessor;
/**
* <b>description</b>:第一个爬虫示例,爬去动作片列表信息 <br>
* <b>time</b>:2019/4/20 10:58 <br>
* <b>author</b>:ready likun_557@163.com
*/
@Slf4j
public class Ady01comPageProcessor implements PageProcessor {
@Override
public void process(Page page) {
log.info("爬取成功!");
log.info("爬取的内容:" + page.getRawText());
}
@Override
public Site getSite() {
return Site.me().setSleepTime(1000).setRetryTimes(3);
}
public static void main(String[] args) {
String url = "http://m.ady01.com/rs/film/listJson/1/2?_=1555726508180";
Spider.create(new Ady01comPageProcessor()).addUrl(url).thread(1).run();
}
}
4. Запустите код сканера
бегатьAdy01comPageProcessorОсновной метод в результате выполнения выглядит следующим образом:
5. Резюме
- В этой статье в основном используется пример, чтобы проиллюстрировать, что webgic настолько прост, что может завершить работу по сбору данных.Из кода видно, что webmagic защитил нас от сложного кода, и нам нужно только обратить внимание на написание бизнеса код.
- В статье подробно не рассказывается, как использовать webmagic.Что касается того, почему я не объяснил это в документе, основная причина в том, что webigc предоставил очень полный обучающий документ, который можно переместить вкитайская документация webgic, если вам нужно более глубокое понимание, вы можете изучить исходный код webgic, который вам очень пригодится для написания краулеров.
- Завтра мы просканируем страницу сведений о каждом боевике и соберем адрес загрузки фильма на странице сведений.
- образец кода, ввозится вideaобкатка, нужно установить по идееmavenиlombokслужба поддержки
- Для получения дополнительных технических статей, пожалуйста, обратите внимание на общедоступный номер:javacode2018