基於java的圖片爬蟲和音樂爬蟲

網絡上有很多爬蟲框架結構也多種多樣但是基本結構就3個1下載器,2解析器,3處理器(基本所有爬蟲都是在這個結構上擴展的)。所以不論是用其他人的爬蟲框架還是自己的爬蟲只要理解這3個結構就能很好的使用爬蟲或開發爬蟲。

1.以下用的是SeimiCrawler爬蟲框架

簡單實例

添加maven依賴(已經同步到中央maven庫):

<dependency>

    <groupId>cn.wanghaomiao</groupId>

    <artifactId>SeimiCrawler</artifactId>

    <version>0.1.0</version>

</dependency>

 

在包crawlers下添加爬蟲規則,例如:

@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:

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
 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章