亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

Python爬取 工控行業(yè)系統(tǒng)漏洞

nihao / 1316人閱讀

摘要:先貼連接,讓各位觀眾老爺看看,對(duì)不對(duì)你們的胃口工控行業(yè)系統(tǒng)漏洞可以看到,這個(gè)網(wǎng)頁(yè)是靜態(tài)的,所以問(wèn)題變的非常的簡(jiǎn)單只需要用請(qǐng)求網(wǎng)頁(yè)就可以了話不多說(shuō),直接貼代碼標(biāo)題公開(kāi)日期公開(kāi)日期危害級(jí)別危害級(jí)別影響產(chǎn)品影響產(chǎn)品漏洞描述漏洞

先貼連接,讓各位觀眾老爺看看,對(duì)不對(duì)你們的胃口

工控行業(yè)系統(tǒng)漏洞

可以看到,這個(gè)網(wǎng)頁(yè)是html靜態(tài)的,所以問(wèn)題變的非常的簡(jiǎn)單

只需要用request請(qǐng)求網(wǎng)頁(yè)就可以了

話不多說(shuō),直接貼代碼

import requests
from urllib.parse import urlencode
from lxml import etree
import pymysql
import time
import xlwt
import xlrd


def makeurl():
    # http://ics.cnvd.org.cn/?tdsourcetag=s_pctim_aiomsg&max=20&offset=0
    baseurl = "http://ics.cnvd.org.cn/?"
    params = {
        "tdsourcetag": "s_pctim_aiomsg",
        "max": "20"
    }
    for page in range(MAX_PAGE):
        params["offset"] = page * 20
        url = baseurl + urlencode(params)
        print("url is ", url)
        yield url


def get_page_urllist(url):
    headers = {
        "Host": "ics.cnvd.org.cn",
        "Referer": "http://ics.cnvd.org.cn/?tdsourcetag=s_pctim_aiomsg&max=20&offset=40",
        "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.110 Safari/537.36"
    }
    response = requests.get(url, headers=headers)
    return response.text


def parse_urllist(content):
    html = etree.HTML(content)
    for li in html.xpath("http://tbody[@id="tr"]/tr"):
        yield li.xpath("td/a/@href")[0]


def get_page(url):
    headers = {
        "Host": "www.cnvd.org.cn",
        "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.110 Safari/537.36"
    }
    response = requests.get(url, headers=headers)
    return response.text


def parse_page(content, url):
    html = etree.HTML(content)
    item = {}
    item["url"] = url
    item["標(biāo)題"] = str(html.xpath("http://div[@class="blkContainerSblk"]/h1/text()")[0])

    item["CNVD_ID"] = "".join(
        [i.strip() for i in html.xpath("http://tbody/tr/td[text()="CNVD-ID"]/following-sibling::*[1]//text()")])
    item["公開(kāi)日期"] = "".join(
        [i.strip() for i in html.xpath("http://tbody/tr/td[text()="公開(kāi)日期"]/following-sibling::*[1]//text()")])
    item["危害級(jí)別"] = "".join([i.strip().replace(" ", "").replace("
", "").replace("
", "").replace("	", "") for i in
                            html.xpath("http://tbody/tr/td[text()="危害級(jí)別"]/following-sibling::*[1]//text()")])
    item["影響產(chǎn)品"] = "".join(
        [i.strip() for i in html.xpath("http://tbody/tr/td[text()="影響產(chǎn)品"]/following-sibling::*[1]//text()")])
    try:
        item["BUGTRAQ_ID"] = "".join(
            [i.strip() for i in html.xpath("http://tbody/tr/td[text()="BUGTRAQ ID"]/following-sibling::*[1]//text()")])
    except:
        item["BUGTRAQ_ID"] = ""
    item["CVE_ID"] = "".join(
        [i.strip() for i in
         html.xpath("http://tbody/tr/td[text()="CVE ID"]/following-sibling::*[1]//text()")]) + " " + "".join(
        [i.strip() for i in html.xpath("http://tbody/tr/td[text()="CVE ID"]/following-sibling::*[1]//@href")])

    item["漏洞描述"] = "".join(
        [i.strip() for i in html.xpath("http://tbody/tr/td[text()="漏洞描述"]/following-sibling::*[1]//text()")])
    item["漏洞類型"] = "".join(
        [i.strip() for i in html.xpath("http://tbody/tr/td[text()="漏洞類型"]/following-sibling::*[1]//text()")])
    item["參考鏈接"] = "".join(
        [i.strip() for i in html.xpath("http://tbody/tr/td[text()="參考鏈接"]/following-sibling::*[1]//text()")])
    item["漏洞解決方案"] = "".join(
        [i.strip() for i in html.xpath("http://tbody/tr/td[text()="漏洞解決方案"]/following-sibling::*[1]//text()")])
    item["廠商補(bǔ)丁"] = "".join(
        [i.strip() for i in html.xpath(
            "http://tbody/tr/td[text()="廠商補(bǔ)丁"]/following-sibling::*[1]//text()")]) + " http://www.cnvd.org.cn" + "".join(
        [i.strip() for i in html.xpath("http://tbody/tr/td[text()="廠商補(bǔ)丁"]/following-sibling::*[1]//@href")])
    item["驗(yàn)證信息"] = "".join(
        [i.strip() for i in html.xpath("http://tbody/tr/td[text()="驗(yàn)證信息"]/following-sibling::*[1]//text()")])
    item["報(bào)送時(shí)間"] = "".join(
        [i.strip() for i in html.xpath("http://tbody/tr/td[text()="報(bào)送時(shí)間"]/following-sibling::*[1]//text()")])
    item["收錄時(shí)間"] = "".join(
        [i.strip() for i in html.xpath("http://tbody/tr/td[text()="收錄時(shí)間"]/following-sibling::*[1]//text()")])
    item["更新時(shí)間"] = "".join(
        [i.strip() for i in html.xpath("http://tbody/tr/td[text()="更新時(shí)間"]/following-sibling::*[1]//text()")])
    item["漏洞附件"] = "".join(
        [i.strip() for i in html.xpath("http://tbody/tr/td[text()="漏洞附件"]/following-sibling::*[1]//text()")])

    return item


def save_data(index, item, workbook):
    sheet = workbook.get_sheet("sheet1")  # 創(chuàng)建一個(gè)sheet表格
    for col, value in enumerate(item.values()):
        sheet.write(index, col, value)
    workbook.save(filename)
    print("保存成功")


def excel_prepare(heads):
    workbook = xlwt.Workbook()
    sheet = workbook.add_sheet("sheet1", cell_overwrite_ok=True)  # 創(chuàng)建一個(gè)sheet表格
    for col, value in enumerate(heads):
        sheet.write(0, col, value)
    return workbook


def urlisexist(url, urlset):
    if url in urlset:
        return True
    else:
        return False


def getallurl(filename):
    workbook = xlrd.open_workbook(filename)
    sheet1 = workbook.sheet_by_name("sheet1")
    results = sheet1.col_values(0, 1)
    return results


def read_old(filename):
    workbook = xlrd.open_workbook(filename)
    sheet1 = workbook.sheet_by_name("sheet1")
    alloldset = []
    for index in range(sheet1.nrows):
        alloldset.append(sheet1.row_values(index))
    return alloldset, sheet1.nrows


def save_old(index, olditem):
    sheet = workbook.get_sheet("sheet1")  # 創(chuàng)建一個(gè)sheet表格
    for col, value in enumerate(olditem):
        sheet.write(index, col, value)
    workbook.save(filename)


if __name__ == "__main__":
    # http://ics.cnvd.org.cn/?tdsourcetag=s_pctim_aiomsg&max=20&offset=0

    # 睡眠時(shí)間
    TIMESLEEP = 0

    filename = "工程控制系統(tǒng)漏洞.xls"

    MAX_PAGE = 96



    heads = ["url",
             "標(biāo)題",
             "CNVD_ID",
             "公開(kāi)日期",
             "危害級(jí)別",
             "影響產(chǎn)品",
             "BUGTRAQ_ID",
             "CVE_ID",
             "漏洞描述",
             "漏洞類型",
             "參考鏈接",
             "漏洞解決方案",
             "廠商補(bǔ)丁",
             "驗(yàn)證信息",
             "報(bào)送時(shí)間",
             "收錄時(shí)間",
             "更新時(shí)間",
             "漏洞附件"]

    try:
        alloldset, length = read_old(filename)
    except:
        alloldset = []
        length = 1

    workbook = excel_prepare(heads)

    for index, olditem in enumerate(alloldset):
        save_old(index, olditem)

    try:
        urlset = getallurl(filename)
    except:
        urlset = []

    index = length
    for urlofpage in makeurl():
        pagelistcontent = get_page_urllist(urlofpage)
        for url in parse_urllist(pagelistcontent):
            print("url is >>>", url)
            if not urlisexist(url, urlset):
                time.sleep(TIMESLEEP)
                result = get_page(url)
                item = parse_page(result, url)
                print("item is >>>", item)
                save_data(index, item, workbook)
                index = index + 1

    workbook.save(filename)

不懂的地方,下方評(píng)論提問(wèn)

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/43933.html

相關(guān)文章

  • 立根鑄魂,麒麟信安攜手歐拉共推操作系統(tǒng)產(chǎn)業(yè)新發(fā)展

    摘要:作為在國(guó)產(chǎn)自主創(chuàng)新領(lǐng)域沉淀十余載的操作系統(tǒng)排頭兵,麒麟信安將攜手,立根鑄魂,共推操作系統(tǒng)產(chǎn)業(yè)新發(fā)展。 2021年11月9日-10日,主題為立根鑄魂,逐夢(mèng)數(shù)字時(shí)代星辰...

    xavier 評(píng)論0 收藏0
  • #yyds干貨盤點(diǎn)#安全漏洞頻出,信息系統(tǒng)中安全防護(hù)如何有效構(gòu)建?

    摘要:本次活動(dòng)的主旨就是和大家共同討論信息系統(tǒng)中如何有效的構(gòu)建安全防護(hù)體系,如何規(guī)范安全制度,如何讓制定的安全制度落地,形成有效的規(guī)范制度來(lái)保護(hù)系統(tǒng)安全。用來(lái)保證系統(tǒng)一旦出現(xiàn)安全事故后還有應(yīng)急的解決方案。 安全漏洞頻出,信息系統(tǒng)中安全防護(hù)如何有效構(gòu)建?字?jǐn)?shù) 3685閱讀 1029評(píng)論 0贊 3前言:隨著信息化的高速發(fā)展,越來(lái)越多...

    jubincn 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<