使用java+WebMagic實現小說爬取

 1、首先百度搜索webmagic網站,網址如下:https://github.com/code4craft/webmagic/releases/tag/WebMagic-0.7.3

2、接下來下載webmagic-0.7.3-all.tar.gz 壓縮包解壓

3、創建一個項目,在項目中創建一個lib文件夾,將WebMagic中的jar包複製到lib文件夾裏面,選取所有的jar包(按下shift可以全選),右鍵->build path,然後創建一個class 文件,具體執行代碼如下:

package test20190428;

import java.util.Iterator;
import java.util.List;
import java.util.Set;
import java.util.TreeSet;

import us.codecraft.webmagic.Page;
import us.codecraft.webmagic.Site;
import us.codecraft.webmagic.Spider;
import us.codecraft.webmagic.processor.PageProcessor;

public class BookProcessor implements PageProcessor{
	private static int count=1;
	@Override
	public Site getSite() {
		// TODO Auto-generated method stub
		Site site=Site.me();
		site.setTimeOut(3000);
		site.setRetryTimes(3);
		site.setSleepTime(3000);
		return site;
	}

	@Override
	public void process(Page page) {
		// TODO Auto-generated method stub
		if(count==1)
		{
			//獲取每一頁的網址鏈接
			List <String> all = page.getHtml().regex("/1_1999/\\d+.html").all();
			//獲取每一頁的網址鏈接,字符串拼接
			Set set = new TreeSet();
			set.addAll(all);
			Iterator<String> iterator = all.iterator();
			while(iterator.hasNext())
			{
				String url2="https://www.biquyun.com/"+iterator.next();
				 page.addTargetRequest(url2);
			}
			count++;
		}
		
		if(count==2)
		{
			//獲取每一頁的頁面文字
			List <String> all2 = page.getHtml().xpath("//div[@id='content']/text()").all();
			Iterator<String> iterator = all2.iterator();
			while(iterator.hasNext())
			{
				System.out.println(iterator.next());
			}
		}
		
	}
	
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		BookProcessor bookprocessor = new BookProcessor();
		Spider create = Spider.create(bookprocessor);
		create.addUrl("https://www.biquyun.com/1_1999/");
		create.thread(5);
		create.run();
	}

}

實現結果:

 

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