springboot添加webmagic_WebMagic+Spring Boot爬取网易云音乐评论

本文介绍了如何结合WebMagic框架和Spring Boot来爬取网易云音乐的评论信息。通过配置WebMagic的PageProcessor、Pipeline、Downloader和Scheduler组件,实现了对音乐页面的解析和评论数据的抓取。同时,文章提到了在爬取过程中遇到的503错误,并通过调整分页大小和设置代理来解决该问题。
摘要由CSDN通过智能技术生成

关于WebMagic

WebMagic是一个简单灵活的Java爬虫框架。基于WebMagic,你可以快速开发出一个高效、易维护的爬虫。

特性:

简单的API,可快速上手

模块化的结构,可轻松扩展

提供多线程和分布式支持

官网:http://webmagic.io/

中文: http://webmagic.io/docs/zh/

English: http://webmagic.io/docs/en

Javadocs: http://webmagic.io/apidocs/

WebMagic由四个组件(PageProcessor、Pipeline、Downloader、Scheduler)构成

PageProcessor

PageProcessor负责解析页面,抽取有用信息,以及发现新的链接。

Pipeline

Pipeline负责抽取结果的处理,包括计算、持久化到文件、数据库等.。

Downloader

Downloader负责从互联网上下载页面,以便后续处理。WebMagic默认使用了Apache HttpClient作为下载工具。

Scheduler

Scheduler负责管理待抓取的URL,以及一些去重的工作。WebMagic默认提供了JDK的内存队列来管理URL,并用集合来进行去重。也支持使用Redis进行分布式管理。

项目结构

7e25e0ce0548

项目结构

代码实现

Maven依赖

us.codecraft

webmagic-core

0.7.2

us.codecraft

webmagic-extension

0.7.2

配置数据库

7e25e0ce0548

配置数据库

具体代码

@Component

public class NetEaseMusicPageProcessor implements PageProcessor {

// 正则表达式\\. \\转义java中的\ \.转义正则中的.

// 主域名

public static final String BASE_URL = "http://music.163.com/";

// 匹配专辑URL

public static final String ALBUM_URL = "http://music\\.163\\.com/playlist\\?id=\\d+";

// 匹配歌曲URL

public static final String MUSIC_URL = "http://music\\.163\\.com/song\\?id=\\d+";

// 初始地址, 褐言喜欢的音乐id 148174530

public static final String START_URL = "http://music.163.com/playlist?id=148174530";

public static final int ONE_PAGE = 20;

private Site site = Site.me()

.setDomain("http://music.163.com")

.setSleepTime(1000)

.setRetryTimes(30)

.setCharset("utf-8")

.setTimeOut(30000)

.setUserAgent("Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_2) AppleWebKit/537.31 (KHTML, like Gecko) Chrome/26.0.1410.65 Safari/537.31");

@Override

public Site getSite() {

return site;

}

@Autowired

MusicService mMusicService;

@Override

public void pr

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值