主要目的用于安全研究,获取最新安全咨询。基于scrapy框架,使用scrapy-redis插件提升爬虫性能,实现增量爬取。redis同时作为数据库保存数据。
主要目的用于安全研究,获取最新安全咨询,无任何漏洞利用细节,严禁用于非法活动。为了保证信息的易读性,CVE漏洞详细信息主要参照CNNVD官网信息,可能导致部分CVE无法被收录。更多信息可以通过关注CVE官方的Twitter获取。
快速开始
下载项目
1 | git clone https://github.com/ttonys/Scrapy-CVE-CNVD |
安装依赖(python3环境)
1 | pip install -r requirements.txt |
redis安装—-docker
1 | docker pull redis |
redis安装—-本机
1 | 参照网上教程 |
修改配置,pipelines.py
文件36-38行,使用自己注册163邮箱,以及所获取的授权码(非个人密码)
1 | fromaddr = '[email protected]' |
修改配置,run.sh
中,将路径修改为自己本机的路径,参照如下:
1 | #!/bin/bash |
测试,将run.sh
改为755权限,运行./run.sh
,查看是否收到邮件通知
添加定时任务,注意使用绝对路径,按照本机实际路径填写,参考如下(每天下午2点半执行):
1 | 30 14 * * * /root/OnePiece/run.sh |
框架流程
具体功能
相关配置
以下配置均在setting.py
文件中设置
日志等级,主要为了简化输出,便于查看爬取结果
1 | LOG_LEVEL = "WARNING" |
爬取间隔,防止访问过快被ban
1 | DOWNLOAD_DELAY = 3 |
请求头设置
1 | USER_AGENT = 'Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.1.6)' |
中文编码
1 | FEED_EXPORT_ENCODING = 'utf-8' |
使用scrapy-redis插件
1 | #确保所有的爬虫通过Redis去重 |
爬取目标
国家信息安全漏洞共享平台
1 | https://www.cnvd.org.cn/ |
国家信息安全漏洞库
1 | http://www.cnnvd.org.cn/ |
today-cve
1 | https://cassandra.cerias.purdue.edu/CVE_changes/today.html |
cve官网
1 | https://cve.mitre.org/ |