cnnvd爬取漏洞信息
生活随笔
收集整理的這篇文章主要介紹了
cnnvd爬取漏洞信息
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
這段時間cnnvd的xml文件一直不更新,沒辦法只能自己去爬取。github上一搜索發現有挺多的類似的項目。scrapy框架編寫的腳本
https://github.com/luweiwei1111/python_spider/tree/master/scrapy/cnnvd
說明: 1.本程序用于爬取cnnvd網址的數據,并將數據通過sqlite3數據庫保存在cnnvd.db庫文件里面, 里面有兩張表:cve_cnnvd_cn 保存cnnvd的相關信息cnnvd_url 保存cnnvd的url路徑2.如何進行爬取(分為兩步進行爬取) python main_url.py 爬取cnnvd的url路徑保存起來,由于有時候會由于網絡原因而導致失敗,所以需要繼續爬取。 python main.py 遍歷cnnvd_url表,并并在cve_cnnvd_cn里面查找cnnvd,如果已經爬取的則不再爬取,否則就需要爬取,支持繼續爬取的功能。3.由于經常會被封鎖IP,所以需要使用到IP池代理,我們使用免費的代理(相關網址http://ip.zdaye.com/dayProxy/ip/133009.html),由于免費的代理不穩定,所以我們需要把爬取的數據緩存起來。 防止被禁的策略: (1)設置download_delay (2)禁止cookies(COOKIES_ENABLES=False) (3)使用user agent池 (4)使用IP池 (5)分布式爬取(TODO)這個可以使用但是,提供的代理網站已經被關閉了。
這就很尷尬了。不過docker上找到了一個代理的服務
https://github.com/jhao104/proxy_pool
下載程序后
執行以下命令安裝:
docker build -t proxy_pool . pip install docker-compose docker-compose -f Docker/docker-compose.yml up -d安裝完成后訪問5010就能獲取到代理的api接口。
接下來把cnnvd爬蟲的代理換成這個api獲取的代理就可以了。
總結
以上是生活随笔為你收集整理的cnnvd爬取漏洞信息的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 对Tabular方法的总结
- 下一篇: 第五季1:AP模式USB-WIFI网卡移