摘要算法选取
MD5,选择原因见Hashing Algorithms In Python。此外经测试,base16速度仅次于MD5,base64次于base16,base32最慢;整体而言,直接加密'汉字'类型的字符串,比加密'\u6c49\u5b57'类型的字符串速度要快,因此json.dumps的时候ensure_ascii参数要设置为False
数据持久化
MongoDB,时间类型数据统一存储为格林尼治时间
定时任务
Flask-APScheduler,使用简单,轻量级方案,且支持多种数据库的持久化
任务管理
Supervisor方便易用
并发实现
Multiprocessing.dummy多线程,易于移植,方法简单
话题树建立及展示
网页展示
Flask框架 + Bootstrap-Flask
话题关注人数及问题数可视化
使用Pyecharts 1.0,已基本实现(散点图显示异常,待观察)
热门关键词爬取、处理及可视化
Worldcloud + Jieba
获取访问页面的用户IP,并分析其所在区域
统计访问每一个页面的用户数量
页面数据使用Redis做缓存,避免加载可视化数据时都要进行计算的问题
Open Source Agenda is not affiliated with "NightMarcher Zhihu Crawler" Project. README Source: NightMarcher/zhihu-crawler