update
This commit is contained in:
parent
87f8e3d3de
commit
223fcfc50c
75
Core.py
75
Core.py
@ -46,26 +46,38 @@ e_hour = int(f"{config['e_hour']}")
|
|||||||
choice = int(f"{config['circle']}")
|
choice = int(f"{config['circle']}")
|
||||||
fs_activate = f"{config['fs_activate']}"
|
fs_activate = f"{config['fs_activate']}"
|
||||||
wx_activate = f"{config['wx_activate']}"
|
wx_activate = f"{config['wx_activate']}"
|
||||||
|
ding_activate = f"{config['ding_activate']}"
|
||||||
|
lx_activate = f"{config['lx_activate']}"
|
||||||
|
|
||||||
webhook_url_once, timestamp_once, sign_once = gen_sign()
|
webhook_url_once, timestamp_once, sign_once = gen_sign()
|
||||||
|
|
||||||
def check_avaliable(info, title, webhook_url, timestamp, sign):
|
def check_avaliable(info_long, info_short, title, webhook_url, timestamp, sign):
|
||||||
if info:
|
if info_long: # 发送完整文章相关内容
|
||||||
if fs_activate == "True":
|
# logger.info(f"{title} 递送中(飞书):")
|
||||||
# logger.info(f"{title} 递送中(飞书):")
|
result = SendToFeishu(info_long, title, webhook_url, timestamp, sign)
|
||||||
result = SendToFeishu(info, title, webhook_url, timestamp, sign)
|
logger.info(result)
|
||||||
logger.info(result)
|
time.sleep(30)
|
||||||
time.sleep(30)
|
else:
|
||||||
else:
|
pass
|
||||||
pass
|
if info_short: # 发送精简文章相关内容
|
||||||
|
# 企业微信相关
|
||||||
if wx_activate == "True":
|
if wx_activate == "True":
|
||||||
# logger.info(f"{title} 递送中(企业微信):")
|
# logger.info(f"{title} 递送中(企业微信):")
|
||||||
result = SendToWX(info, title)
|
result = SendToWX(info_short, title)
|
||||||
logger.info(result)
|
logger.info(result)
|
||||||
time.sleep(30)
|
time.sleep(30)
|
||||||
else:
|
else:
|
||||||
pass
|
pass
|
||||||
else:
|
|
||||||
|
# 钉钉相关
|
||||||
|
if ding_activate == "True":
|
||||||
|
# logger.info(f"{title} 递送中(钉钉):")
|
||||||
|
# result = SendToWX(info_short, title) # 待完善
|
||||||
|
logger.info(result)
|
||||||
|
time.sleep(30)
|
||||||
|
else:
|
||||||
|
pass
|
||||||
|
if not info_long and not info_short:
|
||||||
logger.info(f"{title}数据为空,跳过执行。")
|
logger.info(f"{title}数据为空,跳过执行。")
|
||||||
|
|
||||||
def send_job(time_1):
|
def send_job(time_1):
|
||||||
@ -81,24 +93,34 @@ def send_job(time_1):
|
|||||||
xianzhi_main()
|
xianzhi_main()
|
||||||
M_4hou_main()
|
M_4hou_main()
|
||||||
|
|
||||||
# 分析各个数据源的结果
|
if fs_activate == "True":
|
||||||
reslt_4hou = Src_4hou(time_1)
|
# 分析各个数据源的结果
|
||||||
reslt_anquanke = Src_anquanke(time_1)
|
result_4hou_long = Src_4hou(time_1, False)
|
||||||
reslt_doonsec = Src_doonsec(time_1)
|
result_anquanke_long = Src_anquanke(time_1, False)
|
||||||
reslt_xianzhi = Src_xianzhi(time_1)
|
result_doonsec_long = Src_doonsec(time_1, False)
|
||||||
reslt_freebuf = Src_freebuf(time_1)
|
result_xianzhi_long = Src_xianzhi(time_1, False)
|
||||||
reslt_qianxin = Src_qianxin(time_1)
|
result_freebuf_long = Src_freebuf(time_1, False)
|
||||||
reslt_seebug = Src_seebug(time_1)
|
result_qianxin_long = Src_qianxin(time_1, False)
|
||||||
|
result_seebug_long = Src_seebug(time_1, False)
|
||||||
|
elif wx_activate == "True" or ding_activate == "True" or lx_activate == "True":
|
||||||
|
# 分析各个数据源的结果
|
||||||
|
result_4hou_short = Src_4hou(time_1, True)
|
||||||
|
result_anquanke_short = Src_anquanke(time_1, True)
|
||||||
|
result_doonsec_short = Src_doonsec(time_1, True)
|
||||||
|
result_xianzhi_short = Src_xianzhi(time_1, True)
|
||||||
|
result_freebuf_short = Src_freebuf(time_1, True)
|
||||||
|
result_qianxin_short = Src_qianxin(time_1, True)
|
||||||
|
result_seebug_short = Src_seebug(time_1, True)
|
||||||
|
|
||||||
webhook_url, timestamp, sign = gen_sign()
|
webhook_url, timestamp, sign = gen_sign()
|
||||||
|
|
||||||
check_avaliable(reslt_4hou, "嘶吼资讯", webhook_url, timestamp, sign)
|
check_avaliable(result_4hou_long, result_4hou_short, "嘶吼资讯", webhook_url, timestamp, sign)
|
||||||
check_avaliable(reslt_anquanke, "安全客资讯", webhook_url, timestamp, sign)
|
check_avaliable(result_anquanke_long, result_anquanke_short, "安全客资讯", webhook_url, timestamp, sign)
|
||||||
check_avaliable(reslt_doonsec, "洞见微信安全资讯", webhook_url, timestamp, sign)
|
check_avaliable(result_doonsec_long, result_doonsec_short, "洞见微信安全资讯", webhook_url, timestamp, sign)
|
||||||
check_avaliable(reslt_xianzhi, "先知社区资讯", webhook_url, timestamp, sign)
|
check_avaliable(result_xianzhi_long, result_xianzhi_short, "先知社区资讯", webhook_url, timestamp, sign)
|
||||||
check_avaliable(reslt_freebuf, "FreeBuf资讯", webhook_url, timestamp, sign)
|
check_avaliable(result_freebuf_long, result_freebuf_short, "FreeBuf资讯", webhook_url, timestamp, sign)
|
||||||
check_avaliable(reslt_qianxin, "奇安信攻防社区资讯", webhook_url, timestamp, sign)
|
check_avaliable(result_qianxin_long, result_qianxin_short, "奇安信攻防社区资讯", webhook_url, timestamp, sign)
|
||||||
check_avaliable(reslt_seebug, "Seebug社区资讯", webhook_url, timestamp, sign)
|
check_avaliable(result_seebug_long, result_seebug_short, "Seebug社区资讯", webhook_url, timestamp, sign)
|
||||||
|
|
||||||
if fs_activate == "True":
|
if fs_activate == "True":
|
||||||
send_result = SendToFeishu("[点此访问](https://info.masonliu.com)网站以查看全部文章。", "单次运行结束", webhook_url, timestamp, sign)
|
send_result = SendToFeishu("[点此访问](https://info.masonliu.com)网站以查看全部文章。", "单次运行结束", webhook_url, timestamp, sign)
|
||||||
@ -145,7 +167,6 @@ def main_loop(choice):
|
|||||||
|
|
||||||
while True:
|
while True:
|
||||||
schedule.run_pending()
|
schedule.run_pending()
|
||||||
n += 1
|
|
||||||
time.sleep(60) # 每分钟检查一次是否有任务需要执行
|
time.sleep(60) # 每分钟检查一次是否有任务需要执行
|
||||||
|
|
||||||
# 探测rss源状态
|
# 探测rss源状态
|
||||||
|
@ -107,13 +107,18 @@ def record_md(result, filename="./history/sec_news.md"):
|
|||||||
# 写回文件
|
# 写回文件
|
||||||
with open(filename, 'w', encoding='utf-8') as file:
|
with open(filename, 'w', encoding='utf-8') as file:
|
||||||
file.write(new_content)
|
file.write(new_content)
|
||||||
def get_filtered_articles(entries):
|
def get_filtered_articles(entries, Is_short):
|
||||||
result = ""
|
result = ""
|
||||||
record = ""
|
record = ""
|
||||||
for entry in entries:
|
for entry in entries:
|
||||||
result += f"作者:{entry[5]}\n文章:{entry[1]}\n"
|
if Is_short == False:
|
||||||
result += f"链接:{entry[2]}\n上传时间:{entry[4]}\n"
|
result += f"作者:{entry[5]}\n文章:{entry[1]}\n"
|
||||||
result += "\n" + "-" * 40 + "\n" # 添加分隔线以便区分不同文章
|
result += f"链接:{entry[2]}\n上传时间:{entry[4]}\n"
|
||||||
|
result += "\n" + "-" * 40 + "\n" # 添加分隔线以便区分不同文章
|
||||||
|
if Is_short == True:
|
||||||
|
result += f"文章:{entry[1]}\n"
|
||||||
|
result += f"链接:{entry[2]}\n上传时间:{entry[4]}\n"
|
||||||
|
result += "\n" + "-" * 3 + "\n" # 添加分隔线以便区分不同文章
|
||||||
|
|
||||||
record += f"#### 文章:{entry[1]}\n"
|
record += f"#### 文章:{entry[1]}\n"
|
||||||
record += f"**作者**:{entry[5]}\n"
|
record += f"**作者**:{entry[5]}\n"
|
||||||
@ -124,7 +129,7 @@ def get_filtered_articles(entries):
|
|||||||
return result
|
return result
|
||||||
|
|
||||||
|
|
||||||
def Src_4hou(e_hour):
|
def Src_4hou(e_hour, Is_short):
|
||||||
if not os.path.exists('./db/4hou.db'):
|
if not os.path.exists('./db/4hou.db'):
|
||||||
# 创建数据库和表
|
# 创建数据库和表
|
||||||
create_database()
|
create_database()
|
||||||
@ -143,13 +148,13 @@ def Src_4hou(e_hour):
|
|||||||
# print(filtered_articles)
|
# print(filtered_articles)
|
||||||
|
|
||||||
if filtered_articles:
|
if filtered_articles:
|
||||||
results = get_filtered_articles(filtered_articles)
|
results = get_filtered_articles(filtered_articles, Is_short)
|
||||||
return results
|
return results
|
||||||
else:
|
else:
|
||||||
return ""
|
return ""
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
reslts = Src_4hou(4)
|
reslts = Src_4hou(4, False)
|
||||||
if reslts != "":
|
if reslts != "":
|
||||||
print(reslts)
|
print(reslts)
|
||||||
else:
|
else:
|
||||||
|
@ -102,13 +102,18 @@ def record_md(result, filename="./history/sec_news.md"):
|
|||||||
with open(filename, 'w', encoding='utf-8') as file:
|
with open(filename, 'w', encoding='utf-8') as file:
|
||||||
file.write(new_content)
|
file.write(new_content)
|
||||||
|
|
||||||
def get_filtered_articles(entries):
|
def get_filtered_articles(entries, Is_short):
|
||||||
result = ""
|
result = ""
|
||||||
record = ""
|
record = ""
|
||||||
for entry in entries:
|
for entry in entries:
|
||||||
result += f"作者:{entry[6]}\n来源:{entry[3]}\n文章:{entry[1]}\n"
|
if Is_short == False:
|
||||||
result += f"链接:{entry[2]}\n上传时间:{entry[5]}\n"
|
result += f"作者:{entry[6]}\n来源:{entry[3]}\n文章:{entry[1]}\n"
|
||||||
result += "\n" + "-" * 40 + "\n" # 添加分隔线以便区分不同文章
|
result += f"链接:{entry[2]}\n上传时间:{entry[5]}\n"
|
||||||
|
result += "\n" + "-" * 40 + "\n" # 添加分隔线以便区分不同文章
|
||||||
|
elif Is_short == True:
|
||||||
|
result += f"文章:{entry[1]}\n"
|
||||||
|
result += f"链接:{entry[2]}\n上传时间:{entry[5]}\n"
|
||||||
|
result += "\n" + "-" * 3 + "\n" # 添加分隔线以便区分不同文章
|
||||||
|
|
||||||
record += f"#### 文章:{entry[1]}\n"
|
record += f"#### 文章:{entry[1]}\n"
|
||||||
record += f"**作者**:{entry[6]}\n"
|
record += f"**作者**:{entry[6]}\n"
|
||||||
@ -120,7 +125,7 @@ def get_filtered_articles(entries):
|
|||||||
return result
|
return result
|
||||||
|
|
||||||
|
|
||||||
def Src_anquanke(e_hour):
|
def Src_anquanke(e_hour, Is_short):
|
||||||
if not os.path.exists('./db/anquanke.db'):
|
if not os.path.exists('./db/anquanke.db'):
|
||||||
# 创建数据库和表
|
# 创建数据库和表
|
||||||
create_database()
|
create_database()
|
||||||
@ -139,13 +144,13 @@ def Src_anquanke(e_hour):
|
|||||||
# print(filtered_articles)
|
# print(filtered_articles)
|
||||||
|
|
||||||
if filtered_articles:
|
if filtered_articles:
|
||||||
results = get_filtered_articles(filtered_articles)
|
results = get_filtered_articles(filtered_articles, Is_short)
|
||||||
return results
|
return results
|
||||||
else:
|
else:
|
||||||
return False
|
return False
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
reslts = Src_anquanke(4)
|
reslts = Src_anquanke(4, False)
|
||||||
if reslts != False:
|
if reslts != False:
|
||||||
print(reslts)
|
print(reslts)
|
||||||
else:
|
else:
|
||||||
|
@ -109,14 +109,19 @@ def record_md(result, filename="./history/tech_passage.md"):
|
|||||||
with open(filename, 'w', encoding='utf-8') as file:
|
with open(filename, 'w', encoding='utf-8') as file:
|
||||||
file.write(new_content)
|
file.write(new_content)
|
||||||
|
|
||||||
def get_filtered_articles(entries):
|
def get_filtered_articles(entries, Is_short):
|
||||||
result = ""
|
result = ""
|
||||||
record = ""
|
record = ""
|
||||||
for entry in entries:
|
for entry in entries:
|
||||||
result += f"作者:{entry[5]}\n文章:{entry[1]}\n"
|
if Is_short == False:
|
||||||
result += f"链接:[点此访问]({entry[2]})\n上传时间:{entry[4]}\n"
|
result += f"作者:{entry[5]}\n文章:{entry[1]}\n"
|
||||||
result += f"简介:{entry[3]}\n"
|
result += f"链接:[点此访问]({entry[2]})\n上传时间:{entry[4]}\n"
|
||||||
result += "\n" + "-" * 40 + "\n" # 添加分隔线以便区分不同文章
|
result += f"简介:{entry[3]}\n"
|
||||||
|
result += "\n" + "-" * 40 + "\n" # 添加分隔线以便区分不同文章
|
||||||
|
if Is_short == True:
|
||||||
|
result += f"文章:{entry[1]}\n"
|
||||||
|
result += f"链接:[点此访问]({entry[2]})\n上传时间:{entry[4]}\n"
|
||||||
|
result += "\n" + "-" * 3 + "\n" # 添加分隔线以便区分不同文章
|
||||||
|
|
||||||
record += f"#### 文章:{entry[1]}\n"
|
record += f"#### 文章:{entry[1]}\n"
|
||||||
record += f"**作者**:{entry[5]}\n"
|
record += f"**作者**:{entry[5]}\n"
|
||||||
@ -128,7 +133,7 @@ def get_filtered_articles(entries):
|
|||||||
return result
|
return result
|
||||||
|
|
||||||
|
|
||||||
def Src_doonsec(e_hour):
|
def Src_doonsec(e_hour, Is_short):
|
||||||
if not os.path.exists('./db/doonsec.db'):
|
if not os.path.exists('./db/doonsec.db'):
|
||||||
# 创建数据库和表
|
# 创建数据库和表
|
||||||
create_database()
|
create_database()
|
||||||
@ -147,13 +152,13 @@ def Src_doonsec(e_hour):
|
|||||||
# print(filtered_articles)
|
# print(filtered_articles)
|
||||||
|
|
||||||
if filtered_articles:
|
if filtered_articles:
|
||||||
results = get_filtered_articles(filtered_articles)
|
results = get_filtered_articles(filtered_articles, Is_short)
|
||||||
return results
|
return results
|
||||||
else:
|
else:
|
||||||
return False
|
return False
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
reslts = Src_doonsec(4)
|
reslts = Src_doonsec(4, False)
|
||||||
if reslts != False:
|
if reslts != False:
|
||||||
print(reslts)
|
print(reslts)
|
||||||
else:
|
else:
|
||||||
|
@ -108,13 +108,18 @@ def record_md(result, filename="./history/sec_news.md"):
|
|||||||
with open(filename, 'w', encoding='utf-8') as file:
|
with open(filename, 'w', encoding='utf-8') as file:
|
||||||
file.write(new_content)
|
file.write(new_content)
|
||||||
|
|
||||||
def get_filtered_articles(entries):
|
def get_filtered_articles(entries, Is_short):
|
||||||
result = ""
|
result = ""
|
||||||
record = ""
|
record = ""
|
||||||
for entry in entries:
|
for entry in entries:
|
||||||
result += f"类型:{entry[5]}\n文章:{entry[1]}\n"
|
if Is_short == False:
|
||||||
result += f"链接:{entry[2]}\n上传时间:{entry[4]}\n"
|
result += f"类型:{entry[5]}\n文章:{entry[1]}\n"
|
||||||
result += "\n" + "-" * 40 + "\n" # 添加分隔线以便区分不同文章
|
result += f"链接:{entry[2]}\n上传时间:{entry[4]}\n"
|
||||||
|
result += "\n" + "-" * 40 + "\n" # 添加分隔线以便区分不同文章
|
||||||
|
elif Is_short == True:
|
||||||
|
result += f"文章:{entry[1]}\n"
|
||||||
|
result += f"链接:{entry[2]}\n上传时间:{entry[4]}\n"
|
||||||
|
result += "\n" + "-" * 3 + "\n" # 添加分隔线以便区分不同文章
|
||||||
|
|
||||||
record += f"#### 文章:{entry[1]}\n"
|
record += f"#### 文章:{entry[1]}\n"
|
||||||
record += f"**类型**:{entry[5]}\n"
|
record += f"**类型**:{entry[5]}\n"
|
||||||
@ -125,7 +130,7 @@ def get_filtered_articles(entries):
|
|||||||
return result
|
return result
|
||||||
|
|
||||||
|
|
||||||
def Src_freebuf(e_hour):
|
def Src_freebuf(e_hour, Is_short):
|
||||||
if not os.path.exists('./db/freebuf.db'):
|
if not os.path.exists('./db/freebuf.db'):
|
||||||
# 创建数据库和表
|
# 创建数据库和表
|
||||||
create_database()
|
create_database()
|
||||||
@ -144,13 +149,13 @@ def Src_freebuf(e_hour):
|
|||||||
# print(filtered_articles)
|
# print(filtered_articles)
|
||||||
|
|
||||||
if filtered_articles:
|
if filtered_articles:
|
||||||
results = get_filtered_articles(filtered_articles)
|
results = get_filtered_articles(filtered_articles, Is_short)
|
||||||
return results
|
return results
|
||||||
else:
|
else:
|
||||||
return False
|
return False
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
reslts = Src_freebuf(4)
|
reslts = Src_freebuf(4, False)
|
||||||
if reslts != False:
|
if reslts != False:
|
||||||
print(reslts)
|
print(reslts)
|
||||||
else:
|
else:
|
||||||
|
@ -99,14 +99,19 @@ def record_md(result, filename="./history/tech_passage.md"):
|
|||||||
with open(filename, 'w', encoding='utf-8') as file:
|
with open(filename, 'w', encoding='utf-8') as file:
|
||||||
file.write(new_content)
|
file.write(new_content)
|
||||||
|
|
||||||
def get_filtered_articles(entries):
|
def get_filtered_articles(entries, Is_short):
|
||||||
result = ""
|
result = ""
|
||||||
record = ""
|
record = ""
|
||||||
for entry in entries:
|
for entry in entries:
|
||||||
result += f"来源:{entry[3]}\n文章:{entry[1]}\n"
|
if Is_short == False:
|
||||||
result += f"链接:{entry[2]}\n上传时间:{entry[5]}\n"
|
result += f"来源:{entry[3]}\n文章:{entry[1]}\n"
|
||||||
result += f"描述:{entry[4]}\n"
|
result += f"链接:{entry[2]}\n上传时间:{entry[5]}\n"
|
||||||
result += "\n" + "-" * 40 + "\n" # 添加分隔线以便区分不同文章
|
result += f"描述:{entry[4]}\n"
|
||||||
|
result += "\n" + "-" * 40 + "\n" # 添加分隔线以便区分不同文章
|
||||||
|
if Is_short == False:
|
||||||
|
result += f"文章:{entry[1]}\n"
|
||||||
|
result += f"链接:{entry[2]}\n上传时间:{entry[5]}\n"
|
||||||
|
result += "\n" + "-" * 3 + "\n" # 添加分隔线以便区分不同文章
|
||||||
|
|
||||||
record += f"#### 文章:{entry[1]}\n"
|
record += f"#### 文章:{entry[1]}\n"
|
||||||
record += f"**来源**:{entry[3]}\n"
|
record += f"**来源**:{entry[3]}\n"
|
||||||
@ -118,7 +123,7 @@ def get_filtered_articles(entries):
|
|||||||
return result
|
return result
|
||||||
|
|
||||||
|
|
||||||
def Src_qianxin(e_hour):
|
def Src_qianxin(e_hour, Is_short):
|
||||||
if not os.path.exists('./db/qianxin.db'):
|
if not os.path.exists('./db/qianxin.db'):
|
||||||
# 创建数据库和表
|
# 创建数据库和表
|
||||||
create_database()
|
create_database()
|
||||||
@ -137,13 +142,13 @@ def Src_qianxin(e_hour):
|
|||||||
# print(filtered_articles)
|
# print(filtered_articles)
|
||||||
|
|
||||||
if filtered_articles:
|
if filtered_articles:
|
||||||
results = get_filtered_articles(filtered_articles)
|
results = get_filtered_articles(filtered_articles, Is_short)
|
||||||
return results
|
return results
|
||||||
else:
|
else:
|
||||||
return False
|
return False
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
reslts = Src_qianxin(4)
|
reslts = Src_qianxin(4, False)
|
||||||
if reslts != False:
|
if reslts != False:
|
||||||
print(reslts)
|
print(reslts)
|
||||||
else:
|
else:
|
||||||
|
@ -106,14 +106,19 @@ def record_md(result, filename="./history/sec_news.md"):
|
|||||||
with open(filename, 'w', encoding='utf-8') as file:
|
with open(filename, 'w', encoding='utf-8') as file:
|
||||||
file.write(new_content)
|
file.write(new_content)
|
||||||
|
|
||||||
def get_filtered_articles(entries):
|
def get_filtered_articles(entries, Is_short):
|
||||||
result = ""
|
result = ""
|
||||||
record = ""
|
record = ""
|
||||||
for entry in entries:
|
for entry in entries:
|
||||||
result += f"类型:{entry[3]}\n文章:{entry[1]}"
|
if Is_short == False:
|
||||||
result += f"链接:{entry[2]}\n上传时间:{entry[5]}\n"
|
result += f"类型:{entry[3]}\n文章:{entry[1]}"
|
||||||
result += f"{entry[4]}\n"
|
result += f"链接:{entry[2]}\n上传时间:{entry[5]}\n"
|
||||||
result += "\n" + "-" * 40 + "\n" # 添加分隔线以便区分不同文章
|
result += f"{entry[4]}\n"
|
||||||
|
result += "\n" + "-" * 40 + "\n" # 添加分隔线以便区分不同文章
|
||||||
|
if Is_short == True:
|
||||||
|
result += f"文章:{entry[1]}"
|
||||||
|
result += f"链接:{entry[2]}\n上传时间:{entry[5]}\n"
|
||||||
|
result += "\n" + "-" * 3 + "\n" # 添加分隔线以便区分不同文章
|
||||||
|
|
||||||
record += f"#### 文章:{entry[1]}\n"
|
record += f"#### 文章:{entry[1]}\n"
|
||||||
record += f"**类型**:{entry[3]}\n"
|
record += f"**类型**:{entry[3]}\n"
|
||||||
@ -125,7 +130,7 @@ def get_filtered_articles(entries):
|
|||||||
return result
|
return result
|
||||||
|
|
||||||
|
|
||||||
def Src_seebug(e_hour):
|
def Src_seebug(e_hour, Is_short):
|
||||||
if not os.path.exists('./db/seebug.db'):
|
if not os.path.exists('./db/seebug.db'):
|
||||||
# 创建数据库和表
|
# 创建数据库和表
|
||||||
create_database()
|
create_database()
|
||||||
@ -144,13 +149,13 @@ def Src_seebug(e_hour):
|
|||||||
# print(filtered_articles)
|
# print(filtered_articles)
|
||||||
|
|
||||||
if filtered_articles:
|
if filtered_articles:
|
||||||
results = get_filtered_articles(filtered_articles)
|
results = get_filtered_articles(filtered_articles, Is_short)
|
||||||
return results
|
return results
|
||||||
else:
|
else:
|
||||||
return False
|
return False
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
reslts = Src_seebug(100)
|
reslts = Src_seebug(100, False)
|
||||||
if reslts != False:
|
if reslts != False:
|
||||||
print(reslts)
|
print(reslts)
|
||||||
else:
|
else:
|
||||||
|
@ -105,13 +105,18 @@ def record_md(result, filename="./history/tech_passage.md"):
|
|||||||
with open(filename, 'w', encoding='utf-8') as file:
|
with open(filename, 'w', encoding='utf-8') as file:
|
||||||
file.write(new_content)
|
file.write(new_content)
|
||||||
|
|
||||||
def get_filtered_articles(entries):
|
def get_filtered_articles(entries, Is_short):
|
||||||
result = ""
|
result = ""
|
||||||
record = ""
|
record = ""
|
||||||
for entry in entries:
|
for entry in entries:
|
||||||
result += f"文章:{entry[1]}\n"
|
if Is_short == False:
|
||||||
result += f"链接:{entry[2]}\n上传时间:{entry[3]}\n"
|
result += f"文章:{entry[1]}\n"
|
||||||
result += "\n" + "-" * 40 + "\n" # 添加分隔线以便区分不同文章
|
result += f"链接:{entry[2]}\n上传时间:{entry[3]}\n"
|
||||||
|
result += "\n" + "-" * 40 + "\n" # 添加分隔线以便区分不同文章
|
||||||
|
if Is_short == False:
|
||||||
|
result += f"文章:{entry[1]}\n"
|
||||||
|
result += f"链接:{entry[2]}\n上传时间:{entry[3]}\n"
|
||||||
|
result += "\n" + "-" * 3 + "\n" # 添加分隔线以便区分不同文章
|
||||||
|
|
||||||
record += f"#### 文章:{entry[1]}\n"
|
record += f"#### 文章:{entry[1]}\n"
|
||||||
record += f"**链接**:{entry[2]}\n"
|
record += f"**链接**:{entry[2]}\n"
|
||||||
@ -121,7 +126,7 @@ def get_filtered_articles(entries):
|
|||||||
return result
|
return result
|
||||||
|
|
||||||
|
|
||||||
def Src_xianzhi(e_hour):
|
def Src_xianzhi(e_hour, Is_short):
|
||||||
if not os.path.exists('./db/xianzhi.db'):
|
if not os.path.exists('./db/xianzhi.db'):
|
||||||
# 创建数据库和表
|
# 创建数据库和表
|
||||||
create_database()
|
create_database()
|
||||||
@ -140,13 +145,13 @@ def Src_xianzhi(e_hour):
|
|||||||
# print(filtered_articles)
|
# print(filtered_articles)
|
||||||
|
|
||||||
if filtered_articles:
|
if filtered_articles:
|
||||||
results = get_filtered_articles(filtered_articles)
|
results = get_filtered_articles(filtered_articles, Is_short)
|
||||||
return results
|
return results
|
||||||
else:
|
else:
|
||||||
return False
|
return False
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
reslts = Src_xianzhi(4)
|
reslts = Src_xianzhi(4, False)
|
||||||
if reslts != False:
|
if reslts != False:
|
||||||
print(reslts)
|
print(reslts)
|
||||||
else:
|
else:
|
||||||
|
@ -30,9 +30,10 @@ web运行:`python ./web/app.py` <br>
|
|||||||
<center><img src="./imgs/bot_config.jpg" width="50%" alt="机器人配置"/></center><br>
|
<center><img src="./imgs/bot_config.jpg" width="50%" alt="机器人配置"/></center><br>
|
||||||
再之后,将配置信息填入config.yaml文件当中 <br>
|
再之后,将配置信息填入config.yaml文件当中 <br>
|
||||||
<center><img src="./imgs/config.jpg" alt="配置"/></center><br>
|
<center><img src="./imgs/config.jpg" alt="配置"/></center><br>
|
||||||
那么选择,您就可以开始运行使用了。 <br>
|
那么现在,您就可以开始运行使用了。 <br>
|
||||||
|
|
||||||
|
|
||||||
### 运行结果 <br>
|
### 运行结果 <br>
|
||||||
![飞书展示](./imgs/start.jpg) <br>
|
<center><img src="./imgs/start.jpg" width="50%" alt="飞书运行提示"/></center><br>
|
||||||
![后端展示](./imgs/run.jpg) <br>
|
<center><img src="./imgs/result.jpg" width="50%" alt="飞书运行展示"/></center><br>
|
||||||
|
<center><img src="./imgs/run.jpg" width="50%" alt="后端"/></center><br>
|
||||||
|
@ -2,6 +2,7 @@
|
|||||||
|
|
||||||
### 问题反馈 <br>
|
### 问题反馈 <br>
|
||||||
- 准点发送的文章在定点推送模式下可能会被遗漏推送 <br>
|
- 准点发送的文章在定点推送模式下可能会被遗漏推送 <br>
|
||||||
|
- 钉钉/企业微信/蓝信webhook存在字节长度限制,需要优化程序推送逻辑 <br>
|
||||||
|
|
||||||
### 下一步计划 <br>
|
### 下一步计划 <br>
|
||||||
- 添加更多RSS订阅源(持续进行中) <br>
|
- 添加更多RSS订阅源(持续进行中) <br>
|
||||||
@ -15,4 +16,5 @@
|
|||||||
|
|
||||||
### 更新日志
|
### 更新日志
|
||||||
- 2024年12月15日早:优化了文件结构,修复了日志记录时的小BUG,添加web展示日志功能 <br>
|
- 2024年12月15日早:优化了文件结构,修复了日志记录时的小BUG,添加web展示日志功能 <br>
|
||||||
- 2024年12月15日晚:修复了单次运行结束时的校验错误问题 <br>
|
- 2024年12月15日晚:修复了单次运行结束时的校验错误问题 <br>
|
||||||
|
- 2024年12月18日早:添加了短文本推送机制,一定程度上解决了长字节推送问题 <br>
|
@ -7,6 +7,12 @@ fs_secret: 4tq65T4jm1MO2IlxvHxBWe
|
|||||||
wx_activate: False
|
wx_activate: False
|
||||||
wx_key: 9a3dd6ff-75d6-4208-bc4b-77724a5805d6
|
wx_key: 9a3dd6ff-75d6-4208-bc4b-77724a5805d6
|
||||||
|
|
||||||
|
# 钉钉相关配置信息
|
||||||
|
ding_activate: False
|
||||||
|
|
||||||
|
# 蓝信相关配置信息
|
||||||
|
lx_activate: False
|
||||||
|
|
||||||
# 邮件配置
|
# 邮件配置
|
||||||
mail_host: smtp.masonliu.com #设置服务器
|
mail_host: smtp.masonliu.com #设置服务器
|
||||||
mail_user: test@masonliu.com #用户名
|
mail_user: test@masonliu.com #用户名
|
||||||
|
BIN
imgs/config.jpg
BIN
imgs/config.jpg
Binary file not shown.
Before Width: | Height: | Size: 24 KiB After Width: | Height: | Size: 109 KiB |
BIN
imgs/group.jpg
BIN
imgs/group.jpg
Binary file not shown.
Before Width: | Height: | Size: 147 KiB After Width: | Height: | Size: 275 KiB |
BIN
imgs/result.jpg
Normal file
BIN
imgs/result.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 199 KiB |
Loading…
Reference in New Issue
Block a user