漏洞库:爬取CNNVD-国家信息安全漏洞库
生活随笔
收集整理的這篇文章主要介紹了
漏洞库:爬取CNNVD-国家信息安全漏洞库
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
CNNVD相對(duì)CNVD的爬取更簡(jiǎn)單一點(diǎn),當(dāng)前并未遇到明顯的爬蟲(chóng)限制機(jī)制
初步分析
首先,還是使用我鐘愛(ài)的爬蟲(chóng)框架——pyspider,選取first page作為起始頁(yè)http://www.cnnvd.org.cn/web/vulnerability/querylist.tag
CNNVD的頁(yè)面只需要提交get請(qǐng)求即可遞歸訪問(wèn)到下一頁(yè)
下面進(jìn)入到漏洞詳情頁(yè),抓取需要的信息
根據(jù)頁(yè)面的HTML各個(gè)節(jié)點(diǎn)分析,使用css選擇器就可以定位到漏洞信息cnnvd_level = response.doc('body > div.container.m_t_10 > div > div.fl.w770 > div.detail_xq.w770 > ul > li:nth-child(2) > a').text()cve_id = response.doc('body > div.container.m_t_10 > div > div.fl.w770 > div.detail_xq.w770 > ul > li:nth-child(3) > a').text() vulnerable_type = response.doc('body > div.container.m_t_10 > div > div.fl.w770 > div.detail_xq.w770 > ul > li:nth-child(4) > a').text()upload_time = response.doc('body > div.container.m_t_10 > div > div.fl.w770 > div.detail_xq.w770 > ul > li:nth-child(5) > a').text()threat_type = response.doc('body > div.container.m_t_10 > div > div.fl.w770 > div.detail_xq.w770 > ul > li:nth-child(6) > a').text()update = response.doc('body > div.container.m_t_10 > div > div.fl.w770 > div.detail_xq.w770 > ul > li:nth-child(7) > a').text()vulnerable_detail = response.doc('body > div.container.m_t_10 > div > div.fl.w770 > div:nth-child(3)').text()vulnerable_notice = response.doc('body > div.container.m_t_10 > div > div.fl.w770 > div:nth-child(4)').text()reference_url = response.doc('body > div.container.m_t_10 > div > div.fl.w770 > div:nth-child(5)').text()patch = response.doc('body > div.container.m_t_10 > div > div.fl.w770 > div:nth-child(9)').text()
爬取結(jié)果
代碼分享
https://github.com/hi-KK
總結(jié)
以上是生活随笔為你收集整理的漏洞库:爬取CNNVD-国家信息安全漏洞库的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: vs2010中MEX文件建立与调试
- 下一篇: 所有的iPhone设备cell的宽度都是