def scrape_kb_crt(self, url):
''' This method is used for parsing www.kb.cert.or'''
data = self.get_html_data(url)
lists = data.find(id="list-of-vuls").find_all("li") # Selecting list of valuns from https://www.kb.cert.org/vuls/
for li in lists:
temp_data = deepcopy(self.value) # creating copy of self.value
temp_data['val_name'] = li.find("span", class_="vul-title truncate").text # parsing name using class name of span
date = li.find("span", class_="vul-date").text # parsing published using class name of span
temp_data['date'] = datetime.strptime(date, '%d %b %Y').date()
page_link = "{}{}".format(url.strip('/vuls/'),li.a['href']) # Creating link address
temp_data['link'] = page_link
new_data = self.get_html_data(page_link).find(id="vulnerability-note-content") # fetching link data and selecting a specific div using id
temp_data['description'] = new_data.p.text
temp_data['solution'] = new_data.find_all("table")[2].find("tr").text # selecting solution part from html page using 'tr' tabs
self.data.append(temp_data) # appending temp data info to class variable called self.data
temp_data['severity'] = "Medium"
temp_data['affected'] = "Please find description"
report_generator.py 文件源码
python
阅读 20
收藏 0
点赞 0
评论 0
评论列表
文章目录