diff --git a/.idea/Weibo_PublicOpinion_AnalysisSystem.iml b/.idea/Weibo_PublicOpinion_AnalysisSystem.iml
index 9f42b41..5fa9011 100644
--- a/.idea/Weibo_PublicOpinion_AnalysisSystem.iml
+++ b/.idea/Weibo_PublicOpinion_AnalysisSystem.iml
@@ -5,7 +5,7 @@
-
+
diff --git a/.idea/misc.xml b/.idea/misc.xml
index e5964bb..0075e33 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -3,7 +3,7 @@
-
+
diff --git a/app.py b/app.py
index 0606542..f54b7a2 100644
--- a/app.py
+++ b/app.py
@@ -29,14 +29,30 @@ def before_reuqest():
def catch_all(path):
return render_template('404.html')
-def run_spider_script():
+def run_script():
current_dir = os.path.dirname(os.path.abspath(__file__))
spider_script = os.path.join(current_dir, 'spider', 'main.py')
- subprocess.run(['python', spider_script])
+ cutComments_script = os.path.join(current_dir, 'utils', 'cutComments.py')
+ cipingTotal_script = os.path.join(current_dir, 'utils', 'cipingTotal.py')
+
+ scripts = [
+ ("Spider Script", spider_script),
+ ("Cut Comments Script", cutComments_script),
+ ("Ciping Total Script", cipingTotal_script)
+ ]
+
+ for script_name, script_path in scripts:
+ try:
+ print(f"Running {script_name}...")
+ result = subprocess.run(['python', script_path], check=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
+ print(f"{script_name} finished successfully. Output:\n{result.stdout.decode()}")
+ except subprocess.CalledProcessError as e:
+ print(f"An error occurred while running {script_name}: {e.stderr.decode()}")
+
if __name__ == '__main__':
scheduler = BackgroundScheduler(timezone=utc)
- scheduler.add_job(run_spider_script, 'interval', minutes=1)
+ scheduler.add_job(run_script, 'interval', hours=5)
scheduler.start()
try:
diff --git a/model/target.csv b/model/target.csv
index f61e523..d876496 100644
--- a/model/target.csv
+++ b/model/target.csv
@@ -2563,3 +2563,220 @@ Dino 宝宝,正面
外面的海洋太危险了,我是一只弱小可怜又无助的小可爱,可以去你的心里躲一躲浪吗[心],正面
美美美[送花花],正面
不用蹲了徕[心],正面
+第一次见有人把“没收”表达的如此清新脱俗的[求饶],负面
+赤裸裸的雀占鸠巢的强盗,负面
+“没收”一词用的好,负面
+直接说抢更合适,负面
+明抢了!有什么权利没收别人的土地?,负面
+赤裸裸的侵略,用什么“没收”啊…[哼],正面
+还是犹太人会玩,“没收”比“侵略”好听多了,负面
+何不讲侵占一词[哆啦A梦害怕],负面
+这是侵略战争,负面
+犹太人抢夺完就该去抢周围的地盘了[笑cry]然后越来越大,不过最终的结果就是犹太人将再次流亡全世界[笑cry],负面
+恐怕会引发一系列效应,负面
+自己都保不住了,还没收???[费解][费解],正面
+中东阿拉伯国家团结起来灭了小鱿鱼,负面
+俄罗斯:长知识了!原来我们可以没收乌克兰的土地为国有土地啊!,负面
+倒反天罡,正面
+凭啥没收,你是老师啊,负面
+转发微博,正面
+抢就是抢,还非要美其名曰《没收》,负面
+侵占?,负面
+以还有未来吗?早晚都得还回来,负面
+小呆瓜。[打call],正面
+车灯真大,负面
+好干净,好喜欢[色],负面
+尺度不够,有待改进。,负面
+@微博管理员 你解释一下,正面
+@微博管理员 还有这个是怎么审核通过的,正面
+水溅身上啦 来啊 http://t.cn/A6QYQIQ7,负面
+[给力][给力][闭嘴] http://t.cn/A6QYT10G,正面
+水溅身上啦 来啊 http://t.cn/A6QYOagN,负面
+加油中国航天[努力],负面
+祝贺!!!一切顺利!!!!,负面
+致敬天上人[心][作揖],正面
+祝贺🎉,正面
+伟大的中国航天事业[good],正面
+祝贺,负面
+祝贺伟大的航天人[好喜欢],负面
+祝贺,负面
+[666],中性
+祝贺,负面
+祝贺祝贺🎉,正面
+祝贺中国航天,正面
+[666][666][666],中性
+祝贺[赞],正面
+祝贺!!,负面
+祝贺!!,负面
+㊗️贺,正面
+祝贺,负面
+祝贺,负面
+祝贺🎊,正面
+#鬽影縫匠[超话]##电影野孩子# 《野孩子》的内核和主题一定是正的,它是想过通过两个素不相识的孩子组建起的“临时家庭”,来探讨非血缘关系亲情的可能性,以及人性中那些毛茸茸的东西,而且还有现实作为依据,很有是枝裕和的味道,这也是影片真正吸引我的原因。,负面
+主旨就是温暖底色,负面
+主旨没问题,内核没问题,后期也没问题,那就是。。。。有问题了[笑而不语],负面
+如果涉及到未成年人犯罪,那确实可能是撤档导火索。那么在这个基础上,提档是不是也是因为这个原因呢?怕夜长梦多?,负面
+看到其他某个博主的内容简介,也是说靠tou来养活那个小朋友,可能这个点就不合适吧,青少年犯罪问题很严峻。当然具体内容是什么还不得而知。但现在很多影视作品中的一些情节确实对青少年的影响很大的,负面
+不懂就问,预售500多万对于流量明星来说算多吗?之前看他们不都是几千万的预售,鹿晗的上海堡垒当时预售一个亿吧,负面
+曾经有一份真诚的孩子摆在我面前,可是我没有去珍惜,等到失去的时候才后悔莫及,尘世间最痛苦的事莫过于此,如果上天能够给我一个再来一个孩子的机会,我会对那个女孩说三个字,我爱你,如果非要在这份爱上加一个期限,我希望是一万年,一胎不上环,二胎不结扎,超怀不引不扎,多生又奖又夸……,负面
+好事多磨,好饭不怕晚,没关系,《野孩子》我们下次见[打call],负面
+好事多磨,好作品不怕晚,见面的时间变了,但是作品的内核与好质量不变,依旧期待这样一部影片,不见不散吧!,负面
+原本就是一部温情电影,电影主旨也是希望有更多的人关心事实孤儿,在预售卖的最好的情况下片方怎么可能随意撤档,只能等了,负面
+还是很期待这部电影,负面
+野孩子其实是一种很新的概念,非姻亲、血缘之下的羁绊。在不受伦理责任惯性约束的情况下,一切奉献付出全凭自愿。它想表达的不是苦难,而是极端苦难之下人性尚存。,负面
+好饭不怕晚 这是一部充满爱与希望的故事 期待与这部电影早日见面,负面
+等你长大我们再见面 好好长大我们一直都在,负面
+本来我完全没注意最近有啥电影,这么一提档撤档上热搜,倒是注意到了,很多路人应该会跟我一样吧,这倒是起到了宣传作用。,负面
+#野孩子 撤档原因# 哪有这么多原因和阴谋论,这次撤了,等再上就是,正面
+好事多磨,负面
+静待花开[泪],正面
+好片不怕延 我们一起静待花开,负面
+好事多磨[污][污] 早晚都会见面 先期待一波!![色][色][色],正面
+这个组合从来不在乎走光,全是欧美化,负面
+这就是文化入侵艹,负面
+纯路人无感,负面
+甚至闻到味儿了[doge],正面
+激动个啥?早被棒子富豪发掘了无数遍,负面
+求免费无限次APP推荐一个。,负面
+不经意的才叫走光,她这是故意的,再说人家脱衣舞都跳了,还在乎露个裤衩?,负面
+这很正常啊,这个蹲,负面
+芯魅[心]辛dyiq,正面
+我们中国人为什么要去追捧这些人?,负面
+永不原谅日本罪行!我们没有资格替逝去的万万同胞去原谅!,负面
+鬼子不是人,负面
+希望多给小日本丢几颗氢弹,干净无污染、为人类清楚了害虫![666],负面
+不能忘!!!,负面
+勿忘国耻,警钟长鸣!,负面
+🙏,中性
+为什么还让日本人在咱们中国土地上合资 办学,负面
+勿忘国耻,警钟长鸣!!!,负面
+勿忘国耻 牢记历史,负面
+国仇,负面
+所以搞不懂现在有那么多女的上赶着去日本还嫁给日本男人,负面
+国仇!勿忘耻辱,负面
+勿忘国耻牢记历史,,负面
+所以,我从来不去日本旅游,也不买日产东西,负面
+勿忘国耻 牢记历史,负面
+感谢美国人救了我们的同胞,负面
+不原谅、不宽恕,负面
+勿忘国耻,警钟长鸣!!!,负面
+勿忘国耻牢记历史,,负面
+南京日本人学校 了解一下[泪],正面
+还是军装帅,整个人气质都变了,英姿飒爽!,负面
+毕业快乐,愿一路繁花,前程似锦![心][心],正面
+切成军装那一刻,飒爽英姿,让人[good][good][good]好美,好棒。毕业快乐,一路繁花[送花花],负面
+致敬,负面
+好酷,正面
+厉害,负面
+飒爽英姿太酷啦[送花花][送花花][送花花],正面
+这也是两年预备役么[疑问],正面
+[打call],中性
+祝愿我伟大的人民解放军战无不胜[good][good][good][good][good],负面
+特战旅[偷笑]好酷的小姐姐,正面
+飒爽英姿[good],正面
+太优秀了[心]致敬,负面
+🫡,中性
+愿一路繁花,前程似锦[送花花],负面
+赞!!!,负面
+[比耶][比耶][比耶],正面
+毕业快乐,愿一路繁花,前程似锦!,负面
+太酷了![心],正面
+致敬![心],正面
+还是危险,负面
+当时要是有这个,邱少云是不是就不用牺牲,负面
+厉害哇 国家越来越棒了,负面
+首先,灭火器不能对人喷[doge]他是有害的,负面
+看着危险,实际上一点也不安全,负面
+看着就烫[泪],正面
+好危险呀,负面
+[允悲],负面
+灭火器🧯是必备的!,负面
+消防员可以抹这个嘛,负面
+@TFBOYS-王源,正面
+眼镜呢,负面
+[傻眼],负面
+我一定要去看这个电影[泪],正面
+灭火器喷人?,负面
+这个电视我们老师放给我们看过,负面
+应该也很危险吧,负面
+厉害,负面
+救命好危险啊[泪]辛苦了,正面
+这是饭店?,正面
+[送花花],负面
+恭喜,您的微博获得北京同城微博榜排名第1名!进榜单的本地微博都在这里,点击查看>>http://t.cn/A6Ql5JcX,负面
+看起来不错啊,负面
+院子确实好,饭不敢恭维,负面
+[打call],中性
+[泪],正面
+[doge]晚上蚊子🦟多不多?叮包吗?@拓码司-承包你的快乐,正面
+长得好像p7[泪],正面
+好可爱[心],负面
+真的吗?治疗咳嗽有效果,负面
+我也觉得,负面
+不是的,你积累的这些知识经验注定会成为你的财富助你成功登案。面试这个东西,我同事从来不报班,考一次过一次,她说自信,不间断就能得到考官的高分。真的,努力了就会总结经验,直至成功。,负面
+明年继续 加油,负面
+不要放弃!明年笔面都第一!加油,负面
+怎么减的?,负面
+小姐姐很优秀[赞],负面
+加油,你一定可以的,努力的的女孩子运气不会太差,你怎么知道不是更好的单位和岗位在等着你呢,负面
+给你的毅力赞一个,负面
+你收获了一个特别棒的自己,负面
+哪条路都不坦途,去把脚下的路走成最好的路吧,负面
+加油👏,负面
+好厉害,负面
+已经很优秀,相信自己[抱抱][抱抱],正面
+不要放弃,加油,没有问题。,负面
+试着报个班,负面
+觉得很有希望,离上岸很近了,再试一次,负面
+平稳持续地努力,加油,负面
+你已经很棒了[鲜花],负面
+报名了哪个机构,负面
+但是你收获了好身材和健康呀[心],负面
+努力过就非常非常棒[心][心]要奖励自己,下次再继续加油哇!,正面
+校友[握手][握手],正面
+毕业快乐,负面
+前程似锦,负面
+0,负面
+姐姐毕业快乐[举手],负面
+恭喜,您的微博获得北京同城微博榜排名第6名!进榜单的本地微博都在这里,点击查看>>http://t.cn/A6QYPX1q,负面
+都好好看,负面
+祝你毕业快乐[doge],负面
+毕业快乐!,负面
+都开始奔向更好的前程[打call],负面
+太美了吧!!可可爱爱,又纯又欲[哇][哇],正面
+恭喜,负面
+图8和布鲁威斯号绝了,负面
+散不了一点!,负面
+真美,负面
+毕业快乐 未来可期,负面
+好漂亮呀,负面
+仙女是粉色的 http://t.cn/A6QjdY2n,负面
+宝宝给你看我拍的云,可惜最近要下雨惹 http://t.cn/A6QlEidE,负面
+虽然最近很多事情很忙但我相信我也能解决好做好的[抱抱][抱抱][抱抱],正面
+宝宝看我拍的考拉,超级可爱[爱慕] http://t.cn/A6Qlu6T4,负面
+老婆你是一只小蝴蝶[亲亲][亲亲][亲亲],正面
+晚上好宝宝,负面
+宝宝[抱抱][抱抱]依旧是如此美丽!特别美丽的文字……但是宝宝你要开心!,正面
+宝宝[泪][泪],正面
+汀汀,是不是想爸爸了[抱抱][抱抱][抱抱],正面
+关注你好久了,看得出来很用心地越来越分享生活了(图2:那个时间我还在其中某个显眼大厦里加班[委屈]),不必匆忙,我们的选择不是决定我们是谁,而是决定我们如何去定义自己。,负面
+小狗说天天开心才好。 http://t.cn/A6QlnoWB,正面
+老婆顺顺利利的一定要好久不见啊啊啊啊啊啊啊开心死了,负面
+原来姐姐也会有苦恼吗,其实一直很羡慕姐姐,唱歌好听,人长的高挑漂亮,还可以去经常去国外,每次看到姐姐发的照片,就感觉姐姐真是一个幸福的小女孩。但也许幸福和苦恼是相并而行的朋友吧。祝好运哦廖姐姐。我在地球的某一端祝在远方的你 平安喜乐[兔子],负面
+我的妈 好漂亮啊啊啊,可以蹲一下口红色号嘛[苦涩][苦涩][苦涩][可怜][可怜][可怜],正面
+好久不见!今日去江苏啦~ http://t.cn/A6QlgtXL,负面
+是虫经过自身的努力,蜕变的痛苦和漫长的等待,最终化蝶。人们常常只看见蝶挥翅的绚丽,而不见成蝶前的一切。既然在陪伴下成长,那今后独自在世界飞舞的自由,清风和明月将成为你新生活的点缀。 最后愿你天天开心,同时这段话也送给迈入新生活的我。[打call][打call][打call],负面
+想你啦,要开开心心的呀宝宝[抱一抱][抱一抱][抱一抱],正面
+[抱抱][抱抱]宝宝我会陪着你,正面
+老婆[苦涩][苦涩][苦涩]想你,希望你不要不开心!!顺顺利利的!!,正面
+宝宝天天开心!![心][心],正面
+老婆回北京啦,负面
+鸡肉还是鸭肉呢这是给自己加了个蛋吗,正面
+豌豆杂酱香得能勾魂,你的味蕾绝对是真爱!我下次北京行,非去不可了![得意地笑],正面
+我要去试试,负面
+记住了,下次来就吃[哈哈],负面
+好的 有机会去试试[兔子],负面
+最好吃?,负面
+离我太远了吧[失望][失望],正面
+叫啥啊,负面
+没有之前好吃了,负面
diff --git a/model/trainModel.py b/model/trainModel.py
index e3b1427..76cfa11 100644
--- a/model/trainModel.py
+++ b/model/trainModel.py
@@ -1,7 +1,7 @@
import pandas as pd # 用于数据处理
import numpy as np # 用于科学计算
import csv # 用于读取CSV文件
-from snownlp import SnowNLP # 用于中文自然语言处理(此处未实际使用)
+# from utils.mynlp import SnowNLP # 用于中文自然语言处理(此处未实际使用)
from sklearn.feature_extraction.text import TfidfVectorizer # 用于文本特征提取
from sklearn.naive_bayes import MultinomialNB # 用于多项式朴素贝叶斯分类
from sklearn.model_selection import train_test_split # 用于划分训练集和测试集
diff --git a/model/yuqing.py b/model/yuqing.py
index e13253c..dbf84fb 100644
--- a/model/yuqing.py
+++ b/model/yuqing.py
@@ -1,4 +1,4 @@
-from snownlp import SnowNLP # 引入SnowNLP库,用于中文情感分析
+
import csv # 用于处理CSV文件的读写操作
import os # 用于操作系统相关功能
import sys
@@ -18,7 +18,7 @@ sys.path.append(project_root_dir)
# 现在可以导入 utils 目录中的模块了
from utils.getPublicData import getAllCommentsData # 自定义函数,用于获取评论数据
-
+from utils.mynlp import SnowNLP # 引入SnowNLP库,用于中文情感分析
def targetFile():
targetFile = 'target.csv' # 定义目标文件名称
commentsList = getAllCommentsData() # 获取所有评论数据
diff --git a/spider/main.py b/spider/main.py
index 5aeb4d2..e65f35d 100644
--- a/spider/main.py
+++ b/spider/main.py
@@ -1,5 +1,5 @@
from spiderData import spiderData
-from saveData import save_to_sql as saveData
+from saveData import saveData
def main():
print('正在爬取数据')
diff --git a/spider/saveData.py b/spider/saveData.py
index 1ef0b2f..08f5d14 100644
--- a/spider/saveData.py
+++ b/spider/saveData.py
@@ -1,15 +1,16 @@
import os
from sqlalchemy import create_engine
import pandas as pd
+from spiderDataPackage.settings import articleAddr,commentsAddr
engine = create_engine('mysql+pymysql://XiaoXueQi:XiaoXueQi@47.92.235.6/Weibo_PublicOpinion_AnalysisSystem?charset=utf8mb4')
-def save_to_sql():
+def saveData():
try:
oldArticle = pd.read_sql('select * from article',engine)
- newArticle = pd.read_csv('article.csv')
+ newArticle = pd.read_csv(articleAddr)
oldComment = pd.read_sql('select * from comments',engine)
- newComment = pd.read_csv('comments.csv')
+ newComment = pd.read_csv(commentsAddr)
mergeArticle = pd.concat([newArticle,oldArticle],join='inner')
mergeComment = pd.concat([newComment,oldComment],join='inner')
@@ -20,13 +21,13 @@ def save_to_sql():
mergeArticle.to_sql('article', con=engine, if_exists='replace', index=False)
mergeComment.to_sql('comments', con=engine, if_exists='replace', index=False)
except:
- newArticle = pd.read_csv('article.csv')
- newComment = pd.read_csv('comments.csv')
+ newArticle = pd.read_csv(articleAddr)
+ newComment = pd.read_csv(commentsAddr)
newArticle.to_sql('article',con=engine,if_exists='replace',index=False)
newComment.to_sql('comments',con=engine,if_exists='replace',index=False)
- os.remove('./article.csv')
- os.remove('./comments.csv')
+ os.remove(articleAddr)
+ os.remove(commentsAddr)
if __name__ == '__main__':
- save_to_sql()
\ No newline at end of file
+ saveData()
\ No newline at end of file
diff --git a/spider/spiderData.py b/spider/spiderData.py
index 97498a9..57a235c 100644
--- a/spider/spiderData.py
+++ b/spider/spiderData.py
@@ -1,10 +1,11 @@
from spiderDataPackage.spiderNav import start as spiderNav
from spiderDataPackage.spiderContent import start as spiderContent
from spiderDataPackage.spiderComments import start as spiderComments
+from spiderDataPackage.settings import navAddr
import os
def spiderData():
- if not os.path.exists('./nav.csv'):
+ if not os.path.exists(navAddr):
print('正在爬取导航栏数据')
spiderNav()
print('正在爬取文章数据')
diff --git a/spider/spiderDataPackage/spiderComments.py b/spider/spiderDataPackage/spiderComments.py
index 6bfc121..d30d9b0 100644
--- a/spider/spiderDataPackage/spiderComments.py
+++ b/spider/spiderDataPackage/spiderComments.py
@@ -3,7 +3,7 @@ import requests
import csv
import os
from datetime import datetime
-from settings import articleAddr,commentsAddr
+from .settings import articleAddr,commentsAddr
def init():
if not os.path.exists(commentsAddr):
diff --git a/spider/spiderDataPackage/spiderContent.py b/spider/spiderDataPackage/spiderContent.py
index f0afd84..a941215 100644
--- a/spider/spiderDataPackage/spiderContent.py
+++ b/spider/spiderDataPackage/spiderContent.py
@@ -3,7 +3,7 @@ import requests
import csv
import os
from datetime import datetime
-from settings import navAddr,articleAddr
+from .settings import navAddr,articleAddr
def init():
if not os.path.exists(articleAddr):
diff --git a/spider/spiderDataPackage/spiderNav.py b/spider/spiderDataPackage/spiderNav.py
index 7322034..4aa17f2 100644
--- a/spider/spiderDataPackage/spiderNav.py
+++ b/spider/spiderDataPackage/spiderNav.py
@@ -2,7 +2,7 @@ import requests
import csv
import numpy as np
import os
-from settings import navAddr
+from .settings import navAddr
def init():
if not os.path.exists(navAddr):
with open(navAddr,'w',encoding='utf-8',newline='') as csvFile:
diff --git a/utils/getTableData.py b/utils/getTableData.py
index 6849a4f..1a9286e 100644
--- a/utils/getTableData.py
+++ b/utils/getTableData.py
@@ -1,5 +1,5 @@
from utils.getPublicData import getAllArticleData
-from snownlp import SnowNLP
+from utils.mynlp import SnowNLP
def getTableDataList(flag):
if flag:
diff --git a/views/page/page.py b/views/page/page.py
index c5a6003..9f6fd88 100644
--- a/views/page/page.py
+++ b/views/page/page.py
@@ -1,5 +1,5 @@
from flask import Flask, session, render_template, redirect, Blueprint, request
-from snownlp import SnowNLP
+from utils.mynlp import SnowNLP
from utils.getHomePageData import *
from utils.getHotWordPageData import *
from utils.getTableData import *