码迷,mamicode.com
首页 > 其他好文 > 详细

2020寒假生活学习日记(十四)

时间:2020-02-14 19:03:24      阅读:108      评论:0      收藏:0      [点我收藏+]

标签:style   包名   string   tar   压缩   ret   requests   ESS   ddt   

爬取北京市信件内容:

下载webmagic-0.7-libs.tar.gz压缩包,解压缩。没有压缩包可以加QQ:893225523

通过Filezilla上传到/home/hadoop/下载

技术图片

sudo tar -zxf ~/下载/webmagic-0.7.3-all.tar.gz -C /data/edu1/

新建Java Project,命名为

 

 

技术图片

点击项目名pachong1,新建一个目录,命名为libs,并将/data/edu1/webmagic-0.7-libs下的所有的jar包,拷贝到libs目录下。并选中所有jar包,右键点击“Build Path” => “Add to Build Path”

 

技术图片

pachong1项目下,点击src => New => Package新建一个包,在弹出窗口中,输入包名my.webmagic

 

技术图片

my.webmagic包下,新建class

将新建的类,命名为Getgov,搭建完的代码框架如下:

 

 技术图片

代码编写

WebMagic里,实现一个基本的爬虫只需要编写一个类,实现 us.codecraft.webmagic.processor.PageProcessor接口即可。这个类基本上包含了抓取一个网站,需要写的所有代码。实现接口后,重写里面的getSiteprocess方法

 

 

package my.webmagic;

import us.codecraft.webmagic.Page;
import us.codecraft.webmagic.Site;
import us.codecraft.webmagic.Spider;
import us.codecraft.webmagic.pipeline.FilePipeline;
import us.codecraft.webmagic.processor.PageProcessor;
import us.codecraft.webmagic.scheduler.FileCacheQueueScheduler;

public class Getgov implements PageProcessor{
	private Site site=Site.me().setRetrySleepTime(3).setSleepTime(100);
	/**
	 * @param args
	 */
	public Site getSite() {
		// TODO Auto-generated method stub
		return site;
	}

	public void process(Page page) {
		// TODO Auto-generated method stub
		page.putField("allhtml",page.getHtml().toString());
		String urlstr=null;
	for(int i=2;i<=25;i++){
			urlstr="http://www.beijing.gov.cn/so/s?qt=%E4%BF%A1%E4%BB%B6&tab=zmhd&siteCode=1100000088&page="+i;
			page.addTargetRequest(urlstr);
	}
	page.addTargetRequests(page.getHtml().links().regex("view\\S+8").all());
	page.addTargetRequests(page.getHtml().regex("http://www.beijing.gov.cn/hudong/hdjl/com.web.\\S+.\\S+.flow\\?originalId=[^\"]+").all());
	page.addTargetRequests(page.getHtml().regex("http://hudong.bjhr.gov.cn/zixun/[^\"]+").all());
	page.addTargetRequests(page.getHtml().regex("http://www.beijing.gov.cn/hudong/yonghu/static/[^\"]+").all());
	page.addTargetRequests(page.getHtml().regex("http://ylba.wjw.beijing.gov.cn/ggws/[^\"]+").all());
	System.out.println(page.getHtml().regex("http://www.beijing.gov.cn/hudong/hdjl/com.web.\\S+.\\S+.flow\\?originalId=[^\"]+").all());
		}
	public static void main(String[] args) {
		Spider.create(new Getgov())
		.addUrl("http://www.beijing.gov.cn/so/s?qt=%E4%BF%A1%E4%BB%B6&tab=zmhd&siteCode=1100000088&page=1")
		.addPipeline(new FilePipeline("./"))
		.setScheduler(new FileCacheQueueScheduler("./"))
		.thread(5)
		.run();
		System.out.println("完成");
  }
}

 

2020寒假生活学习日记(十四)

标签:style   包名   string   tar   压缩   ret   requests   ESS   ddt   

原文地址:https://www.cnblogs.com/jccjcc/p/12308185.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!