`
Reverie夜
  • 浏览: 21469 次
  • 性别: Icon_minigender_1
  • 来自: 惠州
社区版块
存档分类
最新评论

WebMagic 简单实例

阅读更多

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(ヽ(  ̄д ̄;) 为啥不使用):

    下载:webmagic-core-0.5.2.jar

              webmagic-extension-0.5.2.jar

              以及依赖包们

    完成后:

        
 

步骤二 - 编程(完结):

    实现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();
	}
	
}

   

    运行结果


  

    爬虫的地址和内容的抓取规则需要根据想要抓取的网站分析得出√ヽ(  ̄д ̄;)

  • 大小: 3.4 KB
  • 大小: 20.1 KB
  • 大小: 83.6 KB
分享到:
评论
1 楼 574785182 2016-03-16  
好文章,学习,大神好

相关推荐

    maven-webmagic

    WebMagic的设计目标是简单易用、模块化和可扩展性强,使得开发者可以快速构建自己的网络爬虫项目。在这个压缩包文件中,我们可以找到`maven-webmagic`的相关代码和配置,以便于理解和使用这个框架。 ### 一、...

    WebMagic是一个简单灵活的Java爬虫框架

    WebMagic还支持分布式爬虫的构建,可以通过配置多个爬虫实例并行运行,或者利用Scheduler的分布式特性,将URL分发到多个节点上爬取,以提高抓取效率。 总的来说,WebMagic为Java开发者提供了一个高效、易用的网络...

    WebMagic(Java)简单爬虫实现,实现抓取数据,并导出到excel文件

    最后,创建一个主函数,初始化`WebMagic`实例,配置好Seeder、PageProcessor和Pipeline,然后启动爬虫。 以下是一个简单的代码示例,展示如何将抓取的数据写入Excel: ```java import org.apache.poi.ss.usermodel...

    Webmagic Spider简单框架流程图

    Webmagic Spider是一个基于Java的简单、灵活且可扩展的网络爬虫框架,它设计用于快速地构建自己的爬虫项目。这个框架的流程图通常会详细展示从启动到数据抓取的整个过程,帮助开发者理解其内部工作原理。下面将详细...

    springBoot+webMagic实现网站爬虫的实例代码

    springBoot+webMagic实现网站爬虫的实例代码 Spring Boot作为一个基于Java的微服务框架,结合WebMagic这个爬虫框架,可以实现网站爬虫的功能。下面我们将通过实例代码来详细介绍如何使用springBoot+webMagic实现...

    基于webmagic的网络爬虫入门demo

    WebMagic是一个开源的Java爬虫框架,设计目标是简单易用,可扩展性强。本教程将引导你通过一个简单的示例了解如何使用WebMagic进行网页抓取。 **一、WebMagic简介** WebMagic是由陈思蜀开发的一个轻量级的Java爬虫...

    springboot 集成webmagic实现网页数据爬取功能

    WebMagic是一个轻量级的Java爬虫框架,设计目标是使爬虫开发变得简单而高效。它具有模块化设计,包括页面下载、解析、数据存储等组件,开发者可以根据需要自由组合。WebMagic支持动态配置,可以方便地进行爬虫的...

    webmagic相关jar包

    在使用WebMagic时,你需要按照以下步骤创建一个简单的爬虫: 1. **定义PageProcessor**:实现`PageProcessor`接口,重写`process(Page)`方法,解析网页内容并提取所需数据。 2. **创建Spider**:使用`Spider.create...

    基于WebMagic框架的依赖jar包

    3. 启动爬虫:创建一个`Spider`实例,设置起始URL,添加PageProcessor,然后启动爬虫。 4. 扩展功能:根据需要,你可以自定义下载器、管道(Pipeline,用于持久化数据)或其他组件,以满足特定需求。 5. 阅读博客...

    webmagic中文教程(在线教程word版)

    - **易用性**:WebMagic旨在使爬虫开发变得简单,它通过简洁的API设计,使得开发者可以专注于编写抓取逻辑,而无需关心底层的网络通信和多线程管理。 - **模块化**:WebMagic的核心设计理念是模块化,将爬虫分为...

    webmagic学习积累

    本文将详细介绍WebMagic的基本概念、核心组件以及通过实例演示如何使用WebMagic抓取网页数据。 #### 二、WebMagic核心组件介绍 WebMagic的结构主要包括四大核心组件:Downloader、PageProcessor、Scheduler和...

    WebMagic 抓取CSDN博客、并打印

    WebMagic提供了简单易用的API,如: ```java Spider.create(new CsdnBlogProcessor()).addUrl("http://blog.csdn.net/").thread(5).start(); ``` 这里`CsdnBlogProcessor`是我们自定义的`PageProcessor`,`add...

    WebMagic爬虫技术

    本篇文章将深入探讨WebMagic的基本概念、核心组件以及如何使用它来实现一个简单的爬虫项目。 1. **WebMagic简介** WebMagic是基于Java的网页爬虫框架,它提供了完整的从URL管理、页面下载、HTML解析到结果存储的一...

    webMagic爬虫抓取某个博客全部文章名称

    总之,WebMagic提供了一个灵活的框架,使得开发爬虫变得相对简单。通过这个博客文章抓取的例子,你可以掌握基本的爬虫开发技巧,为进一步学习和实践打下基础。在实际应用中,需要注意遵守网站的Robots协议,尊重网站...

    webmagic爬虫

    这些代码实例为初学者提供了很好的学习材料,让大家能够了解和实践WebMagic的基本用法。 WebMagic的核心组件包括四个部分: 1. **Spider**:这是爬虫的入口,用于配置爬虫的行为,如设置启动URL、解析规则等。 2. ...

    java爬虫框架之webMagic

    在本文中,我们将深入探讨WebMagic的核心概念、主要组件、使用方法以及如何通过示例项目spider_demo来实现一个简单的爬虫。 **1. WebMagic简介** WebMagic是一个用Java编写的轻量级爬虫框架,它提供了丰富的功能,...

    基于 webmagic 的 Java 爬虫应用.zip

    本项目“基于 webmagic 的 Java 爬虫应用”就是这样一个实例,它利用了WebMagic这个强大的Java爬虫框架,帮助开发者快速、高效地实现网络数据抓取。 【WebMagic简介】 WebMagic是一个简单灵活的Java爬虫框架,它的...

    java爬虫项目,webmagic源码 java开发爬虫项目

    在使用WebMagic开发爬虫时,首先要创建Spider实例,设置起始URL和PageProcessor,然后启动Spider。例如: ```java Spider.create(new MyPageProcessor()) .addUrl("http://example.com") .thread(5) // 启动5个...

    基于webmagic爬虫表情包案例.zip

    2. **创建项目结构**:通常,一个简单的WebMagic项目会包含以下几个部分: - `Seeder`: 负责提供初始的URL,即我们想要爬取的网页链接。 - `PageProcessor`: 处理下载下来的网页内容,提取我们需要的数据。 - `...

Global site tag (gtag.js) - Google Analytics