This commit is contained in:
Joe1sn
2024-01-03 13:20:15 +08:00
parent 756157ff88
commit 70ad04f21c
7 changed files with 184 additions and 0 deletions

30
cveorg_checker.py Normal file
View File

@@ -0,0 +1,30 @@
import requests
import json
import pandas as pd
from rprint import *
from lxml import etree
search_url = "https://cve.mitre.org/cgi-bin/cvekey.cgi?keyword={keyword}"
detail_url = "https://cve.mitre.org/cgi-bin/cvename.cgi?name={cve}"
def get_cve_json(keyword: str) -> dict:
header = ["CVE","Detail"]
url = search_url.format(keyword=keyword)
r =requests.get(url)
if r.status_code == 200:
html_tree = etree.HTML(r.text)
table_html = html_tree.xpath('//*[@id="TableWithRules"]/table')[0]
table_html = etree.tostring(table_html, pretty_print=True, encoding='unicode')
df_list = pd.read_html(table_html)
df = df_list[0]
table_data = df.values.tolist()
table_data.insert(0,header)
ret = [dict(zip(header, row)) for row in table_data[1:]]
return ret
else:
return {}
if __name__ == "__main__":
banner()
print(get_cve_json("AC6"))