/news_feed

🐨实时监控1000家**企业的新闻动态

Primary LanguagePythonMIT LicenseMIT

**企业新闻监控

简介: 此项目可监控近千家**企业的官方网站的新闻动态,如有更新,系统能在最短2分钟之内通过邮件发送更新的标题和链接。 更新的信息流也可通过浏览器查看。监控的公司和站点可以添加删除。

原理: 定期抓取网站html, 使用difflib比对新旧页面源码,发现增加的部分,提取url和text,过滤筛选,保存MySQL数据库。 定期把更新的url和text,通过邮件发送给订阅者。

环境准备

系统需安装MySQL和Redis数据库以及Python3. 建议安装Python3虚拟环境之后运行。

安装依赖包

pip install -r requirements.txt

Web运行

创建MySQL数据库

连接MySQL,执行

mysql> create database news_feed default charset utf8;

创建表

python models.py

运行

python app.py

浏览器打开 http://127.0.0.1:8888/

news feed

  1. 用户
  1. 公司、站点管理

在公司栏可以查看公司列表和添加公司,点击公司进入公司Profile页可以编辑

导入收集的公司信息

cd utils/ ; python xlsx_reader.py

company list company profile

  1. 抓取日志 http://127.0.0.1:8888/log crawler log

  2. 信息流

资讯栏包括全部信息,海外栏是包含关键词的企业出海信息

可以在关键词栏管理关键词。

将国家和地区名导入数据库

cd utils/ ; python keywords_reader.py

抓取控制

  1. 开启celery任务队列(需要先安装redis)

在系统根目录执行

celery -A info_engine worker -c 20 -l info
  1. 运行爬虫
python info_engine.py

抓取频率, Celery参数可在config.py文件设置

发送邮件

需要在config设置EMAIL和SEND_MAIL_INTERVAL参数

启动定时发邮件程序

python mail_bot.py

手动发邮件可以执行:

cd utils/ ; python send_email.py