毕业设计 基于java的网络爬虫技术的网络新闻分析

293 篇文章 8 订阅
266 篇文章 17 订阅


1 项目简介

🔥 Hi,各位同学好呀,这里是L学长!

🥇今天向大家分享一个今年(2022)最新完成的毕业设计项目作品

基于java的网络爬虫技术的网络新闻分析

🥇 学长根据实现的难度和等级对项目进行评分(最低0分,满分5分)

  • 难度系数:3分

  • 工作量:3分

  • 创新点:3分


2 实现效果

废话不多说,先上实现效果

相似新闻的展示采用了JfreeChart作为白盒测试的测试对象,测试结果如下图所示,精确显示了每一条新闻的关注度走势,如图

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

篇幅有限,本文不做过多展示

3 系统设计

本系统设计为分别由三个子系统组成,分别是:网络爬虫系统即数据采集系统、新闻分析系统即中文语料相似度分析系统和最终结果展示系统,如图
在这里插入图片描述

爬虫核心是Web类,凤凰网新闻、搜狐新闻、网易新闻分别集成了核心Web类,然后各自实现各自的解析规则,核心Web类负责一些基础操作,例如打开网页,获取网页源码,还有一些正则表达式抽取分析算法,其实,Web类也包含了POJO类的作用,也是作为爬虫爬取新闻后生成的结果的载体,如图

在这里插入图片描述

4 关键代码

篇幅有限,无法放完整代码,源码分析在工程内

package com.service;

import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.List;

import com.dao.DB;
import com.orm.TQueren;
import com.orm.TUser;
import com.orm.TXuesheng;

/**
 * @author yanrj
 * @version ����ʱ�䣺Mar 29, 2013 10:26:29 PM
 */
public class GetListService {
	public List getXueshengList(String sql)
	{
		List xueshengList = new ArrayList();
		Object[] params={};
		DB mydb=new DB();
		try
		{
			mydb.doPstm(sql, params);
			ResultSet rs=mydb.getRs();
			while(rs.next())
			{
				TXuesheng xuesheng=new TXuesheng();
				
				xuesheng.setId(rs.getInt("id"));
				xuesheng.setXuehao(rs.getString("xuehao"));
				xuesheng.setLoginpw(rs.getString("loginpw"));
				xuesheng.setXingming(rs.getString("xingming"));
				xuesheng.setXingbie(rs.getString("xingbie"));
				xuesheng.setRuxue(rs.getString("ruxue"));
				xuesheng.setShenfenzheng(rs.getString("shenfenzheng"));
				xuesheng.setYuanxi(rs.getString("yuanxi"));
				xuesheng.setLianxi(rs.getString("lianxi"));
				xuesheng.setRiqi(rs.getString("riqi"));
				
				xuesheng.setZt_jwc(rs.getInt("zt_jwc"));
				xuesheng.setZt_fdy(rs.getInt("zt_fdy"));
				xuesheng.setZt_tsg(rs.getInt("zt_tsg"));
				xuesheng.setZt_sgc(rs.getInt("zt_sgc"));
				xuesheng.setZt_cwc(rs.getInt("zt_cwc"));
				xuesheng.setZt_xbgs(rs.getInt("zt_xbgs"));
				xuesheng.setZt_xuesheng(rs.getInt("zt_xuesheng"));
				xueshengList.add(xuesheng);
		    }
			rs.close();
		}
		catch(Exception e)
		{
			e.printStackTrace();
		}
		mydb.closed();
		return xueshengList;
	}
	
	private List getUserList(String sql)
	{
		List userList = new ArrayList();
		Object[] params={};
		DB mydb=new DB();
		try
		{
			mydb.doPstm(sql, params);
			ResultSet rs=mydb.getRs();
			while(rs.next())
			{
				TUser user=new TUser();
				user.setId(rs.getInt("id"));
				user.setLoginname(rs.getString("loginname"));
				user.setLoginpw(rs.getString("loginpw"));
			 	user.setXingming(rs.getString("xingming"));
			 	user.setXingbie(rs.getString("xingbie"));
				
				userList.add(user);
		    }
			rs.close();
		}
		catch(Exception e)
		{
			e.printStackTrace();
		}
		mydb.closed();
		return userList;		
	}
	
	private TXuesheng getXueshengById(int id)
	{
		String sql = "select * from t_xuesheng where id="+id;
		TXuesheng xuesheng = (TXuesheng)getXueshengList(sql).get(0);
		return xuesheng;
	}
	
	private TUser getUserById(int id)
	{
		String sql = "select * from t_user where id="+id;
		TUser user = (TUser)getUserList(sql).get(0);
		return user;
	}
	
	public List getQuerenList(String sql)
	{
		List querenList = new ArrayList();
		
		Object[] params={};
		DB mydb=new DB();
		try
		{
			mydb.doPstm(sql, params);
			ResultSet rs=mydb.getRs();
			while(rs.next())
			{
				TQueren queren=new TQueren();
				queren.setId(rs.getInt("id"));
				queren.setShijian(rs.getString("shijian"));

				int xuesheng_id = rs.getInt("xuesheng_id");
				queren.setXuesheng(getXueshengById(xuesheng_id));
				
				int user_id	= rs.getInt("user_id");
				queren.setUser(getUserById(user_id));
				
				querenList.add(queren);
		    }
			rs.close();
		}
		catch(Exception e)
		{
			e.printStackTrace();
		}
		mydb.closed();		
		
		return querenList;
	}
}

5 论文概览

在这里插入图片描述

6 最后

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值