基于Vue.js前端+JavaSSM+Scrapy爬虫实现的新闻APP系统

目 录
摘 要 I
Abstract II
1 绪论 1
1.1 研究背景 1
1.2 研究目的及意义 1
1.3 研究内容 2
1.4 论文的结构 2
1.5 本章小结 2
2 开发技术方案研究 3
2.1 Spring及SpringMVC框架概述 3
2.2 Scrapy框架概述 4
2.3 Mybatis框架概述 4
2.5 本章小结 5
3 系统分析与设计 6
3.1 系统的可行性分析 6
3.2 系统开发环境 6
3.3 系统需求分析 6
3.4 系统功能设计 14
3.5 数据库的分析与设计 19
3.6 类的设计 26
3.7 本章小结 26
4 系统的实现 27
4.1 资讯阅读功能的实现 27
4.2 收藏点赞功能的实现 31
4.3 评论回复功能的实现 32
4.4 资讯分享功能的实现 33
4.5 浏览历史和系统通知功能的实现 33
4.6 读者个人信息的查看和修改功能的实现 34
4.7 资讯管理功能 34
4.8 评论公告管理功能实现 37
4.9 读者管理功能实现 38
4.10 推荐功能实现 39
4.11 本章小结 40
5 结论与展望 41
5.1 本课题的主要工作及结论 41
5.2 有待进一步研究的问题 41
参考文献 42
致 谢 43
1.3 研究内容
本课题分为资讯新闻阅读APP后台管理系统及资讯新闻阅读APP两个部分。
资讯新闻阅读APP的开发基于H5平台,前端采用MUI框架,资讯新闻阅读后台管理系统采用Layui框架作为前端框架。后端采用了SSM框架进行开发。
本课题结合新闻阅读爱好者对新闻等资讯主体的需求以及实际情况进行分析,使用UML语言对系统需求进行建模。本系统在角色上可以分为游客、读者、后台管理员。本系统涉及到的主要实体包括读者实体、管理员实体、新闻实体、视频实体、图册实体、评论实体、频道实体、公告实体等。游客可以阅读新闻,查看视频,浏览图册。读者的核心功能是阅读新闻,查看视频,浏览图册,此外读者还可以对阅读内容评论,收藏,点赞,分享,接收系统通知,查看和修改个人信息。后台管理原理员负责视频管理、新闻管理管理、图册管理,用户管理、评论管理、频道管理、发布通知等基本功能。
1.4 论文的结构
本论文具体内容结构如下:
第1章:绪论。叙述了本课题的研究背景、研究目的、研究意义以及研究内容,明确论文的组织结构。
第2章:开发技术方案研究。主要概述系统开发过程中涉及到的相关框架。
第3章:系统分析与设计。系统的可行性分析、系统开发环境选择、系统需求分析、系统功能设计、数据库的分析与设计和类的设计。
第4章:系统的实现。这里主要通过截图方式来展示本课题所实现的功能。
第5章:结论与展望。本章主要是对本课题深入分析并总结,提出系统存在的问题与不足,及有待进一步研究的方向。

# -*- coding: utf-8 -*-

# Define your item pipelines here
#
# Don't forget to add your pipeline to the ITEM_PIPELINES setting
# See: https://docs.scrapy.org/en/latest/topics/item-pipeline.html
from scrapy.pipelines.files import FilesPipeline
from twisted.enterprise import adbapi
from Newscontent.data.bldbhelper import BLDBHelper
#
from Newscontent.data.dbhelper import DBHelper
from scrapy.http import Request

class VideoPipeline(FilesPipeline):
    def get_media_requests(self, item, info):
        # 处理对象:每组item中的每张图片
        for video_url in item['file_urls']:
            yield Request(video_url, meta={
    
    'item': item})

    def file_path(self, request, response=None, info=None):
        image_name = request.meta['item']['name']
        videooriginurl =request.url
        self.db = BLDBHelper()
        videoidt = self.db.selectVideobyurl(videooriginurl)
        videoidI=videoidt[0][0]
        videoid= str(videoidI)
        print(videoidI)
        print(type(videoidI))
        mp4='.mp4'
        print(type(mp4))
        videoname=videoid+mp4
        print(videoname)
        path = image_name + '/'+videoname
        print(path)
        print("!!!!!!!!!!!!!!!!!!!!!!!!")
        return path


class MysqlTwistedPipeline(object):

    def __init__(self):
        self.db = DBHelper()

    def process_item(self, item, spider):
        # 插入数据库
        self.db.insert(item,spider)
        return item

class MysqlupdatecontentPipeline(object):

    def __init__(self):
        self.db = DBHelper()
    def process_item(self, item, spider):
        # 插入数据库
        self.db.update(item,spider)
        return item





在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/newlw/article/details/132752276