博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
网络爬虫
阅读量:5058 次
发布时间:2019-06-12

本文共 2516 字,大约阅读时间需要 8 分钟。

当然,数据挖掘,数据准备部分考虑这样做:配置文件的基础上,打开相应的网站,并保存。之后这些文件的内容,然后分析、文本提取、矩阵变换、集群。

public static void main(String[] args){	    final int THREAD_COUNT=5;	    String baseUrl=null;  	    String searchBlogs=null;  	    String blogs[]=null;  	    String fileDir=null;  	    //String category=null;	    InputStream inputStream =CsdnBlogMining.class.getClassLoader().getResourceAsStream("config.properties");  	    Properties p = new Properties(); 	    	    try {  	        p.load(inputStream);  	        baseUrl=p.getProperty("baseUrl");  	        fileDir=p.getProperty("fileDir");  	        searchBlogs=p.getProperty("searchBlogs");  	        if(searchBlogs!=""){  	            blogs=searchBlogs.split(";");  	        }	        ExecutorService pool=Executors.newFixedThreadPool(THREAD_COUNT);	        	        for(String s:blogs){	        	pool.submit(new SaveWeb(baseUrl+s,fileDir+"/"+s+".html"));	        }  	        pool.shutdown();	        	        //category=new String(p.getProperty("category").getBytes("ISO-8859-1"),"UTF-8");  	    } catch (IOException e) {  	        e.printStackTrace();  	    }	}

打开网页并保存模块:

public class SaveWeb implements Runnable{    private String url;      private String filename;        public SaveWeb(String url,String filename){    	this.url=url;          this.filename=filename;    }    	@Override	public void run() {		HttpClient httpclient = new DefaultHttpClient();          HttpGet httpGet = new HttpGet(url);              httpGet.setHeader("User-Agent", "Mozilla/5.0 (Windows NT 6.1; rv:6.0.2) Gecko/20100101 Firefox/6.0.2");              try{              HttpResponse response = httpclient.execute(httpGet);              HttpEntity entity = response.getEntity();              BufferedOutputStream outputStream = new BufferedOutputStream(new FileOutputStream(filename));                      if(response.getStatusLine().getStatusCode() == HttpStatus.SC_OK){                  if (entity != null) {                         String res=EntityUtils.toString(entity,"UTF-8");                      outputStream.write(res.getBytes("UTF-8"));                      outputStream.flush();                  }              }              outputStream.close();          }catch(IOException e){              e.printStackTrace();          }  	}}
兴许:

作业完毕了,但差点儿和上面的内容没啥关系,本来想全删了。

再想也不算写错。仅仅是没用上而已。还是留着吧。

终于,用java代码循环加并发去获得一个地址列表存到文件中。

而採用R语言去做的挖掘工作。包含获取网页、解析正文、分词、聚类、结果输出等。R语言真是省事,几十行代码全搞定了。但终于分类的结果不理想。看来基于全文的计算通用,刻出来的类是非常不准确,我们必须考虑改进。

版权声明:本文博主原创文章,转载保留原文链接。

转载于:https://www.cnblogs.com/bhlsheji/p/4843484.html

你可能感兴趣的文章
C# BS消息推送 SignalR介绍(一)
查看>>
WPF星空效果
查看>>
WPF Layout 系统概述——Arrange
查看>>
PIGOSS
查看>>
几款Http小服务器
查看>>
iOS 数组排序
查看>>
第三节
查看>>
PHP结合MYSQL记录结果分页呈现(比较实用)
查看>>
Mysql支持的数据类型
查看>>
openSuse beginner
查看>>
Codeforces 620E(线段树+dfs序+状态压缩)
查看>>
Windows7中双击py文件运行程序
查看>>
Market entry case
查看>>
bzoj1230 开关灯 线段树
查看>>
LinearLayout
查看>>
学习python:day1
查看>>
css3动画属性
查看>>
第九次团队作业-测试报告与用户使用手册
查看>>
Equal Sides Of An Array
查看>>
CentOS笔记-用户和用户组管理
查看>>