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
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
爬虫程序是一种自动化工具,可以通过模拟人类的浏览行为,从网页中提取所需内容。下面是一个使用Java爬虫程序示例,用于动态接收阿里巴巴店铺网址,并获取不同店铺的交易数据。 ```java import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.net.URL; import java.util.Scanner; public class AlibabaSpider { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.println("请输入阿里巴巴店铺网址:"); String url = scanner.nextLine(); try { String html = getHtml(url); // 从html中解析交易数据 // ... System.out.println("获取到的交易数据:"); // 输出交易数据 // ... } catch (IOException e) { e.printStackTrace(); System.out.println("获取交易数据失败!"); } } // 根据网址获取网页源码 private static String getHtml(String url) throws IOException { URL targetUrl = new URL(url); BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(targetUrl.openStream())); StringBuilder htmlBuilder = new StringBuilder(); String line; while ((line = bufferedReader.readLine()) != null) { htmlBuilder.append(line); } bufferedReader.close(); return htmlBuilder.toString(); } } ``` 上述程序通过`getHtml`方法获取指定网址的网页源码,并解析交易数据。可以根据实际需求,使用相关的HTML解析库(如Jsoup)提取所需的数据。在获取到交易数据后,可以对其进行相应的处理和输出。 需要注意的是,爬取网站数据应遵守网站的使用规则,并避免过于频繁和过度的访问,以免对网站造成不必要的负担。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值