java自己写的一个图片爬虫和音乐爬虫(数据爬虫跟这个原理一样将下载改成数据处理即可)(优化加入数据爬虫到mysql数据库在最后)

音乐爬虫实例暂时不能使用,酷狗音乐好像做了反爬我将更新程序再上传

 

网络上有很多爬虫框架结构也多种多样但是基本结构就3个1下载器,2解析器,3处理器(基本所有爬虫都是在这个结构上扩展的)。

所以不论是用其他人的爬虫框架还是自己的爬虫只要理解这3个结构就能很好的使用爬虫或开发爬虫。

我用的是SeimiCrawler爬虫框架

简单实例

添加maven依赖(已经同步到中央maven库):

1

2

3

4

5

<dependency>

    <groupId>cn.wanghaomiao</groupId>

    <artifactId>SeimiCrawler</artifactId>

    <version>0.1.0</version>

</dependency>

在包crawlers下添加爬虫规则,例如:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

@Crawler(name = "basic")

public class Basic extends BaseSeimiCrawler {

    @Override

    public String[] startUrls() {

        return new String[]{"http://www.cnblogs.com/"};

    }

    @Override

    public void start(Response response) {

        JXDocument doc = response.document();

        try {

            List<Object> urls = doc.sel("//a[@class='titlelnk']/@href");

            logger.info("{}", urls.size());

            for (Object s:urls){

                push(new Request(s.toString(),"getTitle"));

            }

        catch (Exception e) {

            e.printStackTrace();

        }

    }

    public void getTitle(Response response){

        JXDocument doc = response.document();

        try {

            logger.info("url:{} {}", response.getUrl(), doc.sel("//h1[@class='postTitle']/a/text()|//a[@id='cb_post_title_url']/text()"));

            //do something

        catch (Exception e) {

            e.printStackTrace();

        }

    }

}

  

然后随便某个包下添加启动Main函数,启动SeimiCrawler:

1

2

3

4

5

6

public class Boot {

    public static void main(String[] args){

        Seimi s = new Seimi();

        s.start("basic");

    }

}

  2实现图片爬虫和音乐爬虫

1找到要爬取数据的页面及地址加入startUrls方法

以上方法是下载对应urls文件

xpath解析xml(html)文件(各位可以看下http://www.w3school.com.cn/xpath/index.asp)了解下xpath解析文件规则。

上面 xpath解析表示获取所有超链接地址

获取所有下级页面中图片的地址(音乐。数据都一个原则)

下载图片方法

这样就完成了图片爬虫和音乐爬虫

运行这2个类中main方法即可爬取图片和音乐

数据爬虫

运行结果图片

数据库结果

代码片段

爬取苏宁易购商城页面代码

插入数据库代码

以下是我爬虫的代码地址

https://download.csdn.net/download/u010740917/10908313

,不懂的可以看代码

                                                                                                                                         此致:敬礼,感谢各位网友的阅读。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值