Web-Harvest中负责数据抓取的java代码,还是非常简单的,只有简单的几行代码,实际上整个抓取的复杂过程都被已经Web-Harvest封装起来,这极大地方便了开发人员运用Web-Harvest进行数据采集。
/*获取配置文件*/
ScraperConfiguration config = new ScraperConfiguration("./360buy/category/360buy_category.xml");
/*声明一个抓取机并设置抓取结果保存路径*/
Scraper scraper=new Scraper(config, "./360buy/category/");
scraper.setDebug(true);
/*开始抓取*/
scraper.execute();
抓取结果部分代码如下:
<?xml version="1.0" encoding="gbk" ?>
<buy360>
<c>
<c1>图书、音像</c1>
<c2>音像</c2>
<c3>音乐</c3>
<u>http://mvd.360buy.com/music.html</u>
</c>
<c>
<c1>图书、音像</c1>
<c2>音像</c2>
<c3>影视</c3>
<u>http://mvd.360buy.com/movie.html</u>
</c>
<c>
<c1>图书、音像</c1>
<c2>音像</c2>
<c3>教育音像</c3>
<u>http://mvd.360buy.com/education.html</u>
</c>
<c>
<c1>图书、音像</c1>
<c2>文艺</c2>
<c3>小说</c3>
<u>/products/1713-3258-000.html</u>
</c>
<c>
<c1>图书、音像</c1>
<c2>文艺</c2>
<c3>文学</c3>
<u>/products/1713-3259-000.html</u>
</c>
<c>
<c1>图书、音像</c1>
<c2>文艺</c2>
<c3>青春文学</c3>
<u>/products/1713-3260-000.html</u>
</c>
从结果中可以看出有些URL是不完整的,这很好办,我们在写入数据库的时候可以写个方法处理一下就行了。