juanboy

Merge remote-tracking branch 'origin/main'

... ... @@ -5,7 +5,7 @@
</component>
<component name="NewModuleRootManager">
<content url="file://$MODULE_DIR$" />
<orderEntry type="jdk" jdkName="Python 3.9" jdkType="Python SDK" />
<orderEntry type="jdk" jdkName="Python 3.12 (venv)" jdkType="Python SDK" />
<orderEntry type="sourceFolder" forTests="false" />
</component>
<component name="TemplatesService">
... ...
... ... @@ -3,7 +3,7 @@
<component name="Black">
<option name="sdkName" value="Python 3.12 (Desktop)" />
</component>
<component name="ProjectRootManager" version="2" project-jdk-name="Python 3.9" project-jdk-type="Python SDK" />
<component name="ProjectRootManager" version="2" project-jdk-name="Python 3.12 (venv)" project-jdk-type="Python SDK" />
<component name="PyCharmProfessionalAdvertiser">
<option name="shown" value="true" />
</component>
... ...
... ... @@ -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:
... ...
... ... @@ -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],负面
想你啦,要开开心心的呀宝宝[抱一抱][抱一抱][抱一抱],正面
[抱抱][抱抱]宝宝我会陪着你,正面
老婆[苦涩][苦涩][苦涩]想你,希望你不要不开心!!顺顺利利的!!,正面
宝宝天天开心!![心][心],正面
老婆回北京啦,负面
鸡肉还是鸭肉呢这是给自己加了个蛋吗,正面
豌豆杂酱香得能勾魂,你的味蕾绝对是真爱!我下次北京行,非去不可了![得意地笑],正面
我要去试试,负面
记住了,下次来就吃[哈哈],负面
好的 有机会去试试[兔子],负面
最好吃?,负面
离我太远了吧[失望][失望],正面
叫啥啊,负面
没有之前好吃了,负面
... ...
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 # 用于划分训练集和测试集
... ...
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() # 获取所有评论数据
... ...
from spiderData import spiderData
from saveData import save_to_sql as saveData
from saveData import saveData
def main():
print('正在爬取数据')
... ...
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
... ...
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('正在爬取文章数据')
... ...
... ... @@ -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):
... ...
... ... @@ -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):
... ...
... ... @@ -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:
... ...
from utils.getPublicData import getAllArticleData
from snownlp import SnowNLP
from utils.mynlp import SnowNLP
def getTableDataList(flag):
if flag:
... ...
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 *
... ...