WebMagic 简单实例
关于WebMagic,官网→http://webmagic.io/←这里就不多介绍了
就如官网所说↓
写一个例子也是很简单的~
步骤一 - 导包:
使用maven:
<dependency> <groupId>us.codecraft</groupId> <artifactId>webmagic-core</artifactId> <version>0.5.2</version> </dependency> <dependency> <groupId>us.codecraft</groupId> <artifactId>webmagic-extension</artifactId> <version>0.5.2</version> </dependency>
不使用maven(ヽ(  ̄д ̄;) 为啥不使用):
完成后:
步骤二 - 编程(完结):
实现PageProcessor接口及其getSite()和process(Page page)方法↓
package com.night.webmagic.demo; import java.util.List; import us.codecraft.webmagic.Page; import us.codecraft.webmagic.Site; import us.codecraft.webmagic.Spider; import us.codecraft.webmagic.pipeline.ConsolePipeline; import us.codecraft.webmagic.pipeline.FilePipeline; import us.codecraft.webmagic.processor.PageProcessor; /** * * @author ReverieNight@Foxmail.com * */ public class AniMusicProcessor implements PageProcessor{ private Site site = Site.me().setSleepTime(1000).setRetryTimes(3); //列表页的正则表达式 public static final String URL_LIST = "http://www\\.36dm\\.com/sort-4-\\d+\\.html"; //详情页的正则表达式 public static final String URL_POST = "http://www\\.36dm\\.com/show-\\w+\\.html"; @Override public Site getSite() { return site; } @Override public void process(Page page) { //列表页 if (page.getUrl().regex(URL_LIST).match()) { List<String> l_post = page.getHtml().xpath("//div[@class=\"clear\"]").links().regex(URL_POST).all(); //目标详情 List<String> l_url = page.getHtml().links().regex(URL_LIST).all(); //所有的列表 page.addTargetRequests(l_post); page.addTargetRequests(l_url); //详情页 } else { String title = page.getHtml().xpath("//div[@class='location']").regex("\\[[\\S|\\s]+\\<").toString(); //匹配标题 page.putField("title", title.substring(0, title.length() - 1).trim()); page.putField("torrent", page.getHtml().xpath("//p[@class='original download']").links().toString().trim()); //匹配种子 System.out.println(); } } public static void main(String[] args) { Spider.create(new AniMusicProcessor()) .addUrl("http://www.36dm.com/sort-4-1.html") //开始地址 .addPipeline(new ConsolePipeline()) //打印到控制台 .addPipeline(new FilePipeline("D:\\webmagic\\AniMusic")) //保存到文件夹 .thread(5) //开启5线程 .run(); } }
运行结果↓
爬虫的地址和内容的抓取规则需要根据想要抓取的网站分析得出√ヽ(  ̄д ̄;)
相关推荐
WebMagic的设计目标是简单易用、模块化和可扩展性强,使得开发者可以快速构建自己的网络爬虫项目。在这个压缩包文件中,我们可以找到`maven-webmagic`的相关代码和配置,以便于理解和使用这个框架。 ### 一、...
WebMagic还支持分布式爬虫的构建,可以通过配置多个爬虫实例并行运行,或者利用Scheduler的分布式特性,将URL分发到多个节点上爬取,以提高抓取效率。 总的来说,WebMagic为Java开发者提供了一个高效、易用的网络...
最后,创建一个主函数,初始化`WebMagic`实例,配置好Seeder、PageProcessor和Pipeline,然后启动爬虫。 以下是一个简单的代码示例,展示如何将抓取的数据写入Excel: ```java import org.apache.poi.ss.usermodel...
Webmagic Spider是一个基于Java的简单、灵活且可扩展的网络爬虫框架,它设计用于快速地构建自己的爬虫项目。这个框架的流程图通常会详细展示从启动到数据抓取的整个过程,帮助开发者理解其内部工作原理。下面将详细...
springBoot+webMagic实现网站爬虫的实例代码 Spring Boot作为一个基于Java的微服务框架,结合WebMagic这个爬虫框架,可以实现网站爬虫的功能。下面我们将通过实例代码来详细介绍如何使用springBoot+webMagic实现...
WebMagic是一个开源的Java爬虫框架,设计目标是简单易用,可扩展性强。本教程将引导你通过一个简单的示例了解如何使用WebMagic进行网页抓取。 **一、WebMagic简介** WebMagic是由陈思蜀开发的一个轻量级的Java爬虫...
WebMagic是一个轻量级的Java爬虫框架,设计目标是使爬虫开发变得简单而高效。它具有模块化设计,包括页面下载、解析、数据存储等组件,开发者可以根据需要自由组合。WebMagic支持动态配置,可以方便地进行爬虫的...
在使用WebMagic时,你需要按照以下步骤创建一个简单的爬虫: 1. **定义PageProcessor**:实现`PageProcessor`接口,重写`process(Page)`方法,解析网页内容并提取所需数据。 2. **创建Spider**:使用`Spider.create...
3. 启动爬虫:创建一个`Spider`实例,设置起始URL,添加PageProcessor,然后启动爬虫。 4. 扩展功能:根据需要,你可以自定义下载器、管道(Pipeline,用于持久化数据)或其他组件,以满足特定需求。 5. 阅读博客...
- **易用性**:WebMagic旨在使爬虫开发变得简单,它通过简洁的API设计,使得开发者可以专注于编写抓取逻辑,而无需关心底层的网络通信和多线程管理。 - **模块化**:WebMagic的核心设计理念是模块化,将爬虫分为...
本文将详细介绍WebMagic的基本概念、核心组件以及通过实例演示如何使用WebMagic抓取网页数据。 #### 二、WebMagic核心组件介绍 WebMagic的结构主要包括四大核心组件:Downloader、PageProcessor、Scheduler和...
WebMagic提供了简单易用的API,如: ```java Spider.create(new CsdnBlogProcessor()).addUrl("http://blog.csdn.net/").thread(5).start(); ``` 这里`CsdnBlogProcessor`是我们自定义的`PageProcessor`,`add...
本篇文章将深入探讨WebMagic的基本概念、核心组件以及如何使用它来实现一个简单的爬虫项目。 1. **WebMagic简介** WebMagic是基于Java的网页爬虫框架,它提供了完整的从URL管理、页面下载、HTML解析到结果存储的一...
总之,WebMagic提供了一个灵活的框架,使得开发爬虫变得相对简单。通过这个博客文章抓取的例子,你可以掌握基本的爬虫开发技巧,为进一步学习和实践打下基础。在实际应用中,需要注意遵守网站的Robots协议,尊重网站...
这些代码实例为初学者提供了很好的学习材料,让大家能够了解和实践WebMagic的基本用法。 WebMagic的核心组件包括四个部分: 1. **Spider**:这是爬虫的入口,用于配置爬虫的行为,如设置启动URL、解析规则等。 2. ...
在本文中,我们将深入探讨WebMagic的核心概念、主要组件、使用方法以及如何通过示例项目spider_demo来实现一个简单的爬虫。 **1. WebMagic简介** WebMagic是一个用Java编写的轻量级爬虫框架,它提供了丰富的功能,...
本项目“基于 webmagic 的 Java 爬虫应用”就是这样一个实例,它利用了WebMagic这个强大的Java爬虫框架,帮助开发者快速、高效地实现网络数据抓取。 【WebMagic简介】 WebMagic是一个简单灵活的Java爬虫框架,它的...
在使用WebMagic开发爬虫时,首先要创建Spider实例,设置起始URL和PageProcessor,然后启动Spider。例如: ```java Spider.create(new MyPageProcessor()) .addUrl("http://example.com") .thread(5) // 启动5个...
2. **创建项目结构**:通常,一个简单的WebMagic项目会包含以下几个部分: - `Seeder`: 负责提供初始的URL,即我们想要爬取的网页链接。 - `PageProcessor`: 处理下载下来的网页内容,提取我们需要的数据。 - `...