From 53778fd55cfd8ef5022fd3bf820cdefb65d9e4f1 Mon Sep 17 00:00:00 2001 From: "2863616107@qq.com" <2863616107@qq.com> Date: Mon, 10 Jan 2022 14:44:06 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9C=80=E7=BB=88=E7=89=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- doc/软件使用说明书.docx | Bin 0 -> 156170 bytes ...格说明书-漏洞信息管理系统.doc} | Bin .../guis/__pycache__/jiemian.cpython-36.pyc | Bin 2060 -> 0 bytes .../guis/__pycache__/jiemian.cpython-37.pyc | Bin 2115 -> 0 bytes .../guis/__pycache__/jiemian2.cpython-36.pyc | Bin 3707 -> 0 bytes .../guis/__pycache__/jiemian2.cpython-37.pyc | Bin 3762 -> 0 bytes .../guis/__pycache__/jiemian3.cpython-36.pyc | Bin 3975 -> 0 bytes .../guis/__pycache__/jiemian3.cpython-37.pyc | Bin 4030 -> 0 bytes src/jiemian/漏洞爬取统计检索.py | 42 - src/漏洞爬取统计检索/captcha.png | 68 ++ .../guis/__pycache__/jiemian.cpython-36.pyc | Bin 0 -> 2208 bytes .../guis/__pycache__/jiemian.cpython-37.pyc | Bin 0 -> 2243 bytes .../guis/__pycache__/jiemian2.cpython-36.pyc | Bin 0 -> 2796 bytes .../guis/__pycache__/jiemian2.cpython-37.pyc | Bin 0 -> 2831 bytes .../guis/__pycache__/jiemian3.cpython-36.pyc | Bin 0 -> 4448 bytes .../guis/__pycache__/jiemian3.cpython-37.pyc | Bin 0 -> 4483 bytes .../guis/__pycache__/jiemian4.cpython-36.pyc | Bin 0 -> 2268 bytes .../guis/__pycache__/jiemian4.cpython-37.pyc | Bin 0 -> 2303 bytes .../guis/__pycache__/jiemian5.cpython-36.pyc | Bin 0 -> 1620 bytes .../guis/__pycache__/jiemian5.cpython-37.pyc | Bin 0 -> 1655 bytes .../guis/jiemian.py | 9 +- .../guis/jiemian.ui | 22 +- .../guis/jiemian2.py | 72 +- .../guis/jiemian2.ui | 43 +- .../guis/jiemian3.py | 19 +- .../guis/jiemian3.ui | 32 + src/漏洞爬取统计检索/guis/jiemian4.py | 70 ++ src/漏洞爬取统计检索/guis/jiemian4.ui | 125 +++ src/漏洞爬取统计检索/guis/jiemian5.py | 48 + src/漏洞爬取统计检索/guis/jiemian5.ui | 56 ++ .../__pycache__/main.cpython-36.pyc | Bin 0 -> 16406 bytes .../__pycache__/main.cpython-37.pyc | Bin 0 -> 16426 bytes .../pythonProject/captcha.png | Bin 0 -> 1606 bytes .../pythonProject/geckodriver.log | 0 .../pythonProject/main.py | 455 ++++++++++ .../pythonProject/vulnerabilities_data1.xlsx | Bin 0 -> 139728 bytes src/漏洞爬取统计检索/数据.xlsx | Bin 0 -> 11703 bytes .../漏洞爬取统计检索.py | 818 ++++++++++++++++++ 38 files changed, 1740 insertions(+), 139 deletions(-) create mode 100644 doc/软件使用说明书.docx rename doc/{(最终版)软件设计规格说明书-漏洞信息管理系统.doc => 软件设计规格说明书-漏洞信息管理系统.doc} (100%) delete mode 100644 src/jiemian/guis/__pycache__/jiemian.cpython-36.pyc delete mode 100644 src/jiemian/guis/__pycache__/jiemian.cpython-37.pyc delete mode 100644 src/jiemian/guis/__pycache__/jiemian2.cpython-36.pyc delete mode 100644 src/jiemian/guis/__pycache__/jiemian2.cpython-37.pyc delete mode 100644 src/jiemian/guis/__pycache__/jiemian3.cpython-36.pyc delete mode 100644 src/jiemian/guis/__pycache__/jiemian3.cpython-37.pyc delete mode 100644 src/jiemian/漏洞爬取统计检索.py create mode 100644 src/漏洞爬取统计检索/captcha.png create mode 100644 src/漏洞爬取统计检索/guis/__pycache__/jiemian.cpython-36.pyc create mode 100644 src/漏洞爬取统计检索/guis/__pycache__/jiemian.cpython-37.pyc create mode 100644 src/漏洞爬取统计检索/guis/__pycache__/jiemian2.cpython-36.pyc create mode 100644 src/漏洞爬取统计检索/guis/__pycache__/jiemian2.cpython-37.pyc create mode 100644 src/漏洞爬取统计检索/guis/__pycache__/jiemian3.cpython-36.pyc create mode 100644 src/漏洞爬取统计检索/guis/__pycache__/jiemian3.cpython-37.pyc create mode 100644 src/漏洞爬取统计检索/guis/__pycache__/jiemian4.cpython-36.pyc create mode 100644 src/漏洞爬取统计检索/guis/__pycache__/jiemian4.cpython-37.pyc create mode 100644 src/漏洞爬取统计检索/guis/__pycache__/jiemian5.cpython-36.pyc create mode 100644 src/漏洞爬取统计检索/guis/__pycache__/jiemian5.cpython-37.pyc rename src/{jiemian => 漏洞爬取统计检索}/guis/jiemian.py (87%) rename src/{jiemian => 漏洞爬取统计检索}/guis/jiemian.ui (84%) rename src/{jiemian => 漏洞爬取统计检索}/guis/jiemian2.py (63%) rename src/{jiemian => 漏洞爬取统计检索}/guis/jiemian2.ui (87%) rename src/{jiemian => 漏洞爬取统计检索}/guis/jiemian3.py (88%) rename src/{jiemian => 漏洞爬取统计检索}/guis/jiemian3.ui (90%) create mode 100644 src/漏洞爬取统计检索/guis/jiemian4.py create mode 100644 src/漏洞爬取统计检索/guis/jiemian4.ui create mode 100644 src/漏洞爬取统计检索/guis/jiemian5.py create mode 100644 src/漏洞爬取统计检索/guis/jiemian5.ui create mode 100644 src/漏洞爬取统计检索/pythonProject/__pycache__/main.cpython-36.pyc create mode 100644 src/漏洞爬取统计检索/pythonProject/__pycache__/main.cpython-37.pyc create mode 100644 src/漏洞爬取统计检索/pythonProject/captcha.png create mode 100644 src/漏洞爬取统计检索/pythonProject/geckodriver.log create mode 100644 src/漏洞爬取统计检索/pythonProject/main.py create mode 100644 src/漏洞爬取统计检索/pythonProject/vulnerabilities_data1.xlsx create mode 100644 src/漏洞爬取统计检索/数据.xlsx create mode 100644 src/漏洞爬取统计检索/漏洞爬取统计检索.py diff --git a/doc/软件使用说明书.docx b/doc/软件使用说明书.docx new file mode 100644 index 0000000000000000000000000000000000000000..73fc4cd0308e27cff4f440363703f38682928281 GIT binary patch literal 156170 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

M83=9x;BHGQ(wTag4IE}y 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

n!D^Q^?3)R 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 DL?OlJ|<_Gs^P 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 CXBt!h diff --git a/src/jiemian/guis/__pycache__/jiemian.cpython-37.pyc b/src/jiemian/guis/__pycache__/jiemian.cpython-37.pyc deleted file mode 100644 index 01f5e53c4f84dd5b1267dd64f8fbcbcb6ceaacd7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2115 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 P_564acY%cm-B9#DKIixs diff --git a/src/jiemian/guis/__pycache__/jiemian3.cpython-36.pyc b/src/jiemian/guis/__pycache__/jiemian3.cpython-36.pyc deleted file mode 100644 index 8e2028753817b5ba716d84837179517abcd7e325..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3975 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 diff --git a/src/jiemian/漏洞爬取统计检索.py b/src/jiemian/漏洞爬取统计检索.py deleted file mode 100644 index e1a5a68..0000000 --- a/src/jiemian/漏洞爬取统计检索.py +++ /dev/null @@ -1,42 +0,0 @@ -# -*- coding: utf-8 -*- -import os -import sys -from PyQt5.QtWidgets import * -from PyQt5.QtCore import * -from PyQt5.QtGui import * -from guis.jiemian import * -from guis.jiemian2 import * -from guis.jiemian3 import * - - -class Window1(QMainWindow, Ui_MainWindow): - def __init__(self, parent=None): - super(Window1, self).__init__(parent) - self.setupUi(self) - - self.pushButton_2.clicked.connect(self.w2) - self.pushButton_3.clicked.connect(self.w3) - def w2(self): - self.window2=Window2() - self.window2.show() - def w3(self): - self.window3=Window3( - ) - self.window3.show() - - -class Window2(QMainWindow, Ui_MainWindow2): - def __init__(self, parent=None): - super(Window2, self).__init__(parent) - self.setupUi(self) - -class Window3(QMainWindow, Ui_MainWindow3): - def __init__(self, parent=None): - super(Window3, self).__init__(parent) - self.setupUi(self) -if __name__ == '__main__': - QCoreApplication.setAttribute(QtCore.Qt.AA_EnableHighDpiScaling) - app = QApplication(sys.argv) - win = Window1() - win.show() - sys.exit(app.exec_()) diff --git a/src/漏洞爬取统计检索/captcha.png b/src/漏洞爬取统计检索/captcha.png new file mode 100644 index 0000000..c150d59 --- /dev/null +++ b/src/漏洞爬取统计检索/captcha.png @@ -0,0 +1,68 @@ + + + + + + + + + +

+ + +
+
+
client: 117.136.89.114, server: ff72b00, time: 29/Nov/2021:22:00:44 +0800
+
+ + + diff --git a/src/漏洞爬取统计检索/guis/__pycache__/jiemian.cpython-36.pyc b/src/漏洞爬取统计检索/guis/__pycache__/jiemian.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..8d58da9df6bd3581cd174b6ed9c1162dac3dd055 GIT binary patch literal 2208 zcmaJ?&2QsG6d!*jj+>-un}qGQ3*F^IORK6N(a_LVi>ykKn=!4e*bd{d zwkbsdWret`meXF4K!p<$DoFIUeEc820?GCd;KqUX#>Q=EA(mg>{N}yin|br*d9hS7 zPX7APdRQXlH*)T$f_@j?@MRE`P^n8i$&@_Vls&~%B(h4VOqBXz_av-L-kxL4$vOGAMW94d+4F#FQv8Whznm0WlS-P!;}F zssV8>E^RsOHOukuIX(^UchD7oxXv8B%kYLffF4RNtacztr~wsK2C_uB>?((V9+I|t zNL&?cRI~wH!?BpjftG_AEuF~^2-xd@>VW1_w2;{wpc(E2FS;d~r}{t^Q4u4wkm|Zy zMyu3!k{WaZVpiNKA*ToGN3!6bITYT2p7B>7=K-5{ufaJyDY0a$Sod)pf+BLOQFr**>UX-Z(5!m=a?Nj2R6g&WaeAR zWo3CBO|(|CZ7@AS-dqaylWnj?%51Z zRbU;<$*H6v_0}3BWXWQzh6WR0uxbaM%~>B7_%39`G;r~Wk!iFxMB31yjt)hb%%Hf$ zz|r!N7E26&DZhK=<`oUKR$t!or8b>^=SCX_rotvhL3-^2#dU4fRm(0c!W=ne;NIJ z+$f0pjw>zv=)KYFK?Pgf3H-Q_6^FPH$;WHc;ayu?6LCaXu>Y#)hQjdfrd86;NJLpA z0za8-7Q`KRL%efD(xr+tEuMq9@lzSA(q==8^>*8bdTh62quurb8g)@Gw%Z>>RyUbp z*ML)mI2RV{l8M+FXk~aq>>0YGzrqk{!lznW@3;6ZkrIZ-FS<&c3q-pSR+kaR`kiDQ MuTLN=HjJwBHzI0C;s5{u literal 0 HcmV?d00001 diff --git a/src/漏洞爬取统计检索/guis/__pycache__/jiemian.cpython-37.pyc b/src/漏洞爬取统计检索/guis/__pycache__/jiemian.cpython-37.pyc new file mode 100644 index 0000000000000000000000000000000000000000..6305d10e8505b2966b19017da847a48a24787f0a GIT binary patch literal 2243 zcmaJ?&2Jk;6rcUDz24Z4lRBnpQlRBS_|U3J)eEXnNvKjJ;>ILZ>B`b-<5|+R>|HZE zt0o~xRIN}CROQqQ71&f9kWfHsB_u-O|JW<3-TVREIPl)=W>b^GuIBBV-@NymnfKnz z&gJtuf#=cRpIUeGg#3w}{YM4m0yO_E5R_1oL;kxY+(y#}ZTXgWr-iM0$uO>Uk8BBVSkD1}2}VjU;4i^yazp&3|KV3+ zekHa!;Gckzi5Kus0Dpdnf8vmD8GOrNR~WJ@$Gvp-C7hLx!ds-pUP?szC}66H^dxAL z@yug%G>P0KFpei27`aLCPdFf>$082FHx*}e8nEf^amd5VVn&%B>A^fA7t_Efq65CK zpdI264o`* z?Q&+dZireB^)=?u53CI@;9>E)$DB>i~_U=N(?wth@>Yc#9J{NHAxqDSaONizU zP;+*ucXp_Ej!Ec)!pXr>LXF$&{33Pu-ZA9Kv~4$7wOE+-xy1t?)XJM--naSX)u!Fx zRjX}>X=eM*rp@p;8JSviSXl;pBejKO8w`&cAeZL6^=KO`8zD={7FZ6E0`M<7uG0?M z%Sepp)kxJ)H?kI`(F{Pf+_4%qd!O5F?7;An*K!&gM)u-*$8xFTt{It_$jE>rTC!1K zV?`8W$cu#0a*S+kCEh(df`Z;;O#i{1djGe3{m0)7?)>=l-u=POx6ihF{fD0q9)DL~3mm`RbnLcc zxu-iDVFor5bgnoUOn(Igk#s31-U3L}3sOnQqyM3!T|p|xc4g@0B(#lRS(i2^hVJdt z@tn#14FyY5(B`4}6a*(tsVT#)D8Y>_eg?Pp?^PAKLo`ZM)==E>@)c^W%|NhU1VG-9ua1`_aGyH7(_ra6x zN>-GASghec@!d`b3f$t3=Z4v&cEo{+{%tD`Z`tA$i4G{TMp zrZK?fac?sqDk5*hDa6uiwHyQe6)^t LMvxWnlalfeqcLk} literal 0 HcmV?d00001 diff --git a/src/漏洞爬取统计检索/guis/__pycache__/jiemian2.cpython-36.pyc b/src/漏洞爬取统计检索/guis/__pycache__/jiemian2.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..f9bdb2b46495c588946a8796d4ef32878055c1d4 GIT binary patch literal 2796 zcmaJ@-D@0G6u&e3z1hvjcC$&-q(-f^Yqgfts;Ed!tf`R3Za1Z}2A0X*X)?p?%zEdJ zX+ng;R#1HCgV2IfOBE481fl3dgMWgLKHOKy#(nZZe6Hu*xtZOx#Tn+#xxaJH@0|N_ z?#!utKKsW%ZR4u~A%Bv-D-QA*c>H6~P(n3_G_{)6)N6V(R*Pw5o=}~}t`izFbS%cb7>Oap!K!gms$Ie7fvV}xvJHl*9uG?ajg#@f0@ zxNgU`0No<>_!hC_U=v3hz!TV)nj}a`&?J;5)h1w{1~d(5QlXj1J_}OT9^g4UPg6AA z)@4-01|^o+hY^}p`m{ZSo{Dcc;u`^JMDY#KT*NmL@%3Yb=J)Z9D862P1>h?vzQMj+ z3K3r~=K_pyXdhoe@g0crD}q#v_z&{*&@sV6hpese(y}U{h zcRxm`%r4?9J(BAf=*A+xUS4AnUq9B%bqsPnpz;oL9eX6#ao`?T+{M0m9S7gheZJ$$ z_aJzLdu#%v39yqHgB-?~P+m#<5Mp!;?r}QaPRJcP8F^2EGzH!VmHm``n9BSl{zRWV z-6r;vbdPt+#{N?e^`DOVNx37ZAZ8R7s^>@;SLX1Hs-B~O9kri@{e4VksnbJkSxFKn zbW&!f*=6jj(Lbkrj{|lbvY%2m&tqSWCrUZV8vh}<8y-tK8WR$BJZ30y%pPR@I|9(iX=0AYtv+S6pK_PBw#5? zS(%SU%hDloZq~aRj+SKrsU<55I7pU5^&n86w_K|kG^@yorzRZEDA%OUxVonk8H3U= z7@XS+YF^k7c(4&9&Q#u3bHd=OL2ARmJ!d$kOAU6xYXvQK0Bwud$k7f|F7)PQ3}6`| z%(a%QEcK>`9YifAH0L=%)1C7Imx}@DU-Z_)PT$&|GYx98+JubnHwK7;-b*-To?GN zj>rAk4cq}`UBrFUxx(=K_5)!r!|UJIp*j27a&u$4wZYdsce>$GbGfs9qjT@;-A{kq zxp8y%{++*my4(5o+U~t?mRAGIU$!l?X&LU!iPnZlK}JFAl7;K(Ux$WhSuH2;L1aF4(8zTKZ1r6 zTeJ0#bvUJBTlmkQMPJJ}e9`4!M1&+20)GPPv`Hx>9wBLkBqAiEkYtF+()x4#TiY}Q~xvb8x_OR?2 zR$4j6PNR%*M7AC=$-NXdub_Sgnh)Ud2caQa8rG?x?#;=E)@I)(UMwd>x?Xo-yVmOv zq2Bap;GmqV*FOvlC)BW4fmTN8i;Vl3$?yq~FtU$poYv9{43S0n?MqzPsPNNrY8Y;U c@H9+%@|cuXk0TW6H^MyL96(k)?TWGg0DYC%bN~PV literal 0 HcmV?d00001 diff --git a/src/漏洞爬取统计检索/guis/__pycache__/jiemian2.cpython-37.pyc b/src/漏洞爬取统计检索/guis/__pycache__/jiemian2.cpython-37.pyc new file mode 100644 index 0000000000000000000000000000000000000000..9952a033ce0a22f6854174dab99d8988e33f333b GIT binary patch literal 2831 zcmaJ@-ESL35a08+9Xm~2$4S$q1SqAZP|`pFA%sc-q)17Kn^Z-{l6CQ3lZ(!GVQ-H# zQILvKq#}^=fYeH~r8ZTCkPreXqJjqg1m1YrS84}8@qlk5Ey3Lbk18jTbbN(uq0 z(7+{92+|-8!8=65KpYX>XZ6yws+;F@lUl1|W%R`h-!XV5;IV%X60)IGA>Epypafhr zSPLkG2dcphKsQJ!v_Y0bU=uh=;~~`vgddY8Ovd zQ#49rwE$X3tXpF7Js6=0Pamu9Lo1K3$LH$>sn_G{qDh~xx7yhg|o2dAqsxKa}eLa1VIgnT~lK z0N=hnz5|}`0q_XPJvIo^AlS)_L3U#ddR~$0LBwc3+yiu=7M447$oC!wX&Af@c=p59 zLsaG`@y9ykks7H!PFuXgRqQ|UK>taZ`=AjqLpQazsLq=fcB4{X8k-j}s&c7lVK0b83o4B@&v#hAC=x4< zy)^D{ZkbF$ZfrysR~HP;J^$WrW~E0(Go1yMiMY*G?${vaMn%fj_`3_sTA9zN6-`8# zX6x%3!=qS4^DY64O3M7CKU#*TpXkb;9=9&Iqh)bG3X%L24w5BN-3`>!x~W&3${cdy zsR@TO$_1%YFSK+bu2Sj-gL8Yzn-{hZJXkLh$MbJ`bHd=OK?*&Nvo z!k~qKkFVhl$OS~m){OHk0#x4;_7c4QEkILvwK%)Rmn^eb zzjOQEuh;8aKNRoXy|r8Yxc>Ps#bs;3E{=_kov8o3T|6<`xPH0V*x71qf3*AuL+r?#FtLUmZc6?<`L?K~k<*bg&ZC`?hC39uo4An1_UYB<>**7muEtha>wkMDORd1}U7`UHdr;E71rDWl_|3~vWH#E2OaYg5~3tSejTbfvv3=1(A zWG7L^I3iK4=QmoyqXHv>4gOqcEn#rWhhK@K+d~UCZ;6a%vcE0{5_t ZSn?E=R*xbSvDe%@UhhIyJPb3z{{VPh2`&Ht literal 0 HcmV?d00001 diff --git a/src/漏洞爬取统计检索/guis/__pycache__/jiemian3.cpython-36.pyc b/src/漏洞爬取统计检索/guis/__pycache__/jiemian3.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..f9310136a0244e165c9731ad677fd692b804c234 GIT binary patch literal 4448 zcmb_gTW=f372f5Y6iLytEGxEXT`WtYuCXPj&82A~HBk)2vKiY=K^P@goQ<^$Uex8X zmJAh5Ah!q_q(%|6DN?jXQxtX48wwaffVj)vuy{Q0zG<-=rd!YH zJdt19G934-mU**8=Iy@#gqQHGkDxKNg3h!;faxr7TPp;mvqDI^;puBu@uFc>-?XZ% zc5}HzW9g56Blxc2TmO1g)An>5f$Zx#N#J6^{eZ5y0Xw({bWbaW_B1;Ln-JLm4^v-g zB9J1`gq0@hX=0FK&_t9bxUYdJ4m1ul>SKxvrUWzzXktp!C+w3zlR#l3Jf~>9uunru z+x>3FKEe{LZ$Cg50vqUoX)NjKkFu1KllCBuP~68n?jcA+iaX8vJ?c;!B1mCsW^C*L+7+FJX@nA3K51Np^A{hfw5kn{gc4aTUb~%X*CCU_7P#Q+AJw9GieN0gYgH zPkZ3SDch1HCBF~8Ea>_sDo%BBo zX|_k+&GyK)ZVo=dENX@HIrl^i z^YA&}BZm1NG0cN+x{GiAi5M2Zx6mVog&r|1_+nV_#jxOuVF5m8x_mAupLBNQx-CLl zRQ&$4vxu=`*Pxg2FDj;Kadu|>S**^EWL(0CB^8DL>@0z?y>E1OmPFn@4e4oUqWh*k^$~iy6yx((UJ{uh#5&vJtryvtM8*#K?^OCHqB* zGYuF1(gsg-?qO>zsA<;Ma0&BN$*j7LQNAgzeV(}CSnPFUx7KiZ+%-1k(*O@bGf5tk(|OF>d7k!9h}bJ; zwXtb9JYIJVw^4_f`!Y|}P508KZI;{(qhj)iW7e%(rbEwsJersL;l!xdmtXfb%ZURi zB=T3=TjnGHIDOQJ#qZ0%hW(H`<)p|so?lbD+a)mt7BO0CyNtQZe zr>)~rgRu*)S>bUADn}yu*J*#9K^hm&e?@JtLm5%%1Nj@K!7f$Hy9M&}a;apNO$SDd zXV70W%4U@r&gI&6W7|27G0rd%_2n;n+wYtZ)NrZdpa)PVOHG)XQ)mhisIdypC?R9i zj8ii~&1q^TsX0T<6gAV-%uth~W)_W{kUSSExLE!oHfz;zoH;U}aMsOQ#dMurtkE0T zEuH|TjPU4uMQkYzn5O|rC_RX$91Jw7^)kZ0W)=D={)Xeg>xbJp?mujkRc^4#^x?%4LOyH%@>m1@kqe(>PV z!Tp~dzWdweogW>3cK6}$e}3?bw-4`seEmkls$aJ)vtk+5<;Cq?9>pvg+t;jq@YL~K zplNzSPl`_(Eq$rq`5n{;l{O8Di5fJ$RvnN9?FTLY`GjAz=@RD3+oeD zvI|QIEbU?aPs}m%#2kt zn?Lz;?x?Jc8I(`Qe0h7jY?Tbxs#S4cw$HSvm-3bOs^y~0QGpdTkc#G2bH|lcl8&6{ ziF!xXO_c2dl@io2Qt>F>oXwp}Z^>HTDPy97iQ+|-E*ErOrQuW%c%tadM3e^EyheIT z)DQ5jQ?1nW7>?SYJ|I4)#L=bWEBm)b9!vhNqP39=^H{N1MKvlG;jvh$u|}EXWU=^- zhEbLp=K|aaufCa3xpKsGXlv5=)=7xzv2SZ(hs2FsjE67p=H2sRu^rkMc?G5fx`=;U h(Elbx-RF^-xG%-XUT%2o1v$GH={~H}Rf_5n_&4eZSrPyM literal 0 HcmV?d00001 diff --git a/src/漏洞爬取统计检索/guis/__pycache__/jiemian3.cpython-37.pyc b/src/漏洞爬取统计检索/guis/__pycache__/jiemian3.cpython-37.pyc new file mode 100644 index 0000000000000000000000000000000000000000..ea21d671265329d0e60063250035a2b45701897d GIT binary patch literal 4483 zcmb_gTW=f372f5Y6iLytEGxETS+XsOx>^^fO`4{OltwWS%Vumh1tFAJaW~cqyr|1% zEg32rLvCR-X^kRi6QpUqN)XgV?|_k}wbQ)yt$$$pSW_~e`qXFlJ2S)O(q`M2lHlmf zcg}og&dixJyIM#jVhTQyzkW+w7*dpfP^a+;KzISa$~+of(ba-dRI_T)m-Q9>S-(n{ zuMj8(vq4o^Qgpu_xS{9)BedhshV|e@B^|0`q>}ctP{v*?TLuee?4_#7q8a;jQ@>)^ zm9)xYnZ-5DvcF~;SMy}v`1l~afM2B#jiF>!UCH`%RrlRcvVP$#8xU?-^0Jvbr=c2$)maOwVCpQ_kC$G;79Tge5smGuB@0%QX` zNPVseK?*?=l$x-si9m`#6OtPLt^%eg&?wNbhbhXLV$j5(iAYTcw~qsj1BDIuoS^aC zJ_#x5blNHBfF9F3c70^Qv930lqQ_nRK|LYmxYJD|B=;egy9ZK_r~a!{Tzp6A2BhQSEG z?g<;_a~OeU1ezhK5$9qQ=qS(=5~Xt??9-6aGQz{2TuZy_*gPv~Fq|X?KBjpt($4>u zM|pH<>7VjW_#cBb)+X=9+T`6B{GXEk1>czDqr4M*g6T_q@hDlEhlb#qR;d8Xb z=cM#WXGg5t6r?H1?>#$H7|VAJdJ+GWWE$aTXVja;^6Uu4X^fbbQFzbJG#DHEMrUW5 z=j~}or=bz6OJ`@ApPd;U3^8(iuT=>(=EY`e-&EtMWF~5#Wm?iQ?$+on@RetTW*cHpvU)8qC zRhva^ZB;xCFh4{VZ|ZWhEVWj)%xmS6trdiQ{d3&q^&T`Vk}nrm%M0aArqrJ%G)`!+ zpsgB(dI|E&msmvCY~!oCX|piLK^bd6x!Jl7EA!E#M+%E?R4Z!>RogC?aZWng%u8~6Ey{>&2gqMD zH2r+3u$3iGFXr<`!LVSYvlRM^TEQsknsuSPQQfc(V~o{HL>-w6?)FZc}1%`r6D5Y$)&Yk-jB)C^KHM9m3mPEvD=icxsO!h^H&OT}8kpMPc1WS?ER zuw}26ODnZMe*ECG4{Eo5zw+STNBhq8+S`9#Sud|vR%TDn&eZ;NcV*`E-Ul~V_U_-> zyZiI~o4>Bz`pN#i+Yf)cyZ6zX`*%NFxl%PNE9<6FG_}&))W#MIW0KX4%VsCsRPflK zC~8cN^KTL@{ixsk+pTs>Z4wg6Nqie9jcoRtQiG8!$)bmk5xk`9!8i3EJbB0dfBp5q zb6oA^E%)N1Sg-Z8zTHg8C34?#P-T@6ev7nbqgXRrSy$J6-}a%(`?u+xN!@9@GX$KV z?&Fvr7#0{6KIDWs5^${|5(&CUR3af4i8&n@8*}Kr1#cOgA?$J{T|bc)EXwU-Em#M~ z;w@N$V@Vh5d}5BNC+2wIzs?bF8l1CJaPs>qwajyym;34=ET2f!+WjBbZvANg{TsDA z*B|a&uTnDB?!Q_4#anyteo}w;?mzFp&$0b`@9h2Tb`zsb*t`Al!{2>arD`b2Zho)! z=}wh&weQ}k@7%GDLgfAWuimTu;16{wfxQ3V)89~^_EYpf`yu+=mEd~#$y>GWe_s3P zU(yFf;Y^{rTE>eT8wE43*=D(f>$Gv?c{vqt#FtDPRgmg0FOgJJFBzM*D57-ac#oGu zDt^4GXQ|Sl#F2`H@nUUko_|A>`ev2m1&-G?Duijj^)d~odck5jcP6}Yh~^d2Q=-0u zUxiAkqDFAky45cJJ;skN9beJE*7sQQx74)dbdW`Ixe|(1E(edfVp*>iNRH=n->hl{ zp|Q@w4fpDq2~{(TPlvW9iC=|;h#L8h60}HMPDfbq!dAvU!x!74eGxZgf}>OTuLk|= ff?o?PROZ(yAKA_gi##W0_dH#f6}o9rJ$(NLjD@49 literal 0 HcmV?d00001 diff --git a/src/漏洞爬取统计检索/guis/__pycache__/jiemian4.cpython-36.pyc b/src/漏洞爬取统计检索/guis/__pycache__/jiemian4.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..ed5cc241d2e687b173b069f29ec513cb694ebcc4 GIT binary patch literal 2268 zcmZuy&2QX96d&8`UGHbUzY_=rB=%AXNC5Grkf_Qf2{CC@w2HKHc1&u^YcJz5?M6Xr zwG~1Fshl`)00IXDs=|RDDz)%uaF{DfHhbcLxbxoFb#_r~&G^l4e)D@XZ{CbwEtd;_ z{?oA@lnMEZ^gS7{SD=J1K}88wJknHZN>i<=O|7OWWSvlzYWE1$>`X_i=`^!Ls(KID zq^gOm$=3pA3*F@Fkt6aZzv0jWn}-b~JbhF!R-lCQP}!uWP*PK=Le+burcsS%;G3a3 z2xmoQ*Qsw>j(@}PX>e<)fn)K(Zx+fLl<*O>juaQB+ffv>K#OV}RUuq;wIe`}NIi2z z+zfCs$N^l(w(QA*m4zNX>B*%%23Urh=LNS&vozOHr9NV%OE5x>q(AGHaU{*dTcCxG zEf0ZQ{CZIcLc1FbiU;`!PZ*1G*!iJJdJd z(NuQ~tTA_-4%0kFRkjEn85lhVqeuHjU(9L(_!AJ{u>t-B@W(IZPXd1u_!9&CN#IZR z@uz?l@82|7)5)r*aE8gaY0#J+(3pntxFa*TBakOEv4-58*(6Wq0Go5?VSg8Zn}?8|WH zibja@A!M{DH*B9X%ey7dkSH85hi+KyAmY7uAnkh-Pzl|$_HB@Mi$@`t)fYuMwE6q{uHE2UR?`+)@aP=cOseP1_=;dT z9A7lo(?v1^k*v8P7g)qb1%x&o-)Tn89aM|MI_jmB!MpgTQ=iuhM{It2egIJr1zbl=5(RTdh6)EPpkfI+Q%IB<47B{vv$(zMK!7%FZpFbAqm97# zL2t(kc(~fe;8sKA!*9Ev zKRCVrb@%ai=O@Q!Ki=s+{9*4Pa>6~=v73(NFI{c5MGj^ZwRW8$&tkINQnOhZXtwV)hM4qo_I6W8g*k6DU|vj!!kP;ufauKKA8 z$5}g)zmfC;$iO9!2>c3?LzqpFOp4?ZL{AYTL9#I-4{2^o1~eK4he_N{j=Nud*8S}< zgf1!p-23Ir^Iz|FzrXwUlW!u7e)ss~^dvSh+H!%Zq#18z3ru^!ddU zWYRg_9e4mk+(1JyUS^1F!EavQZkv2r#)RPx$9F?Eke7yJT_z}ux8r%di=heeHW=6b E1AY!l#sB~S literal 0 HcmV?d00001 diff --git a/src/漏洞爬取统计检索/guis/__pycache__/jiemian4.cpython-37.pyc b/src/漏洞爬取统计检索/guis/__pycache__/jiemian4.cpython-37.pyc new file mode 100644 index 0000000000000000000000000000000000000000..52616dd76d61d23d39d280994f8bec47c14e691c GIT binary patch literal 2303 zcmZuz&2Jk;6rbJo+Uw6apG}(tN&yL9s!LRWyYx6RJ|}Hldo8xTRHe zn%E#Ey$@_s(nPY%mpo<(z08*bTcpeUvQ2j^?r$UE@KM3I2*sa;$|4nol8QIvW^kOR1mZP}9qD+xV%)RT&P46uxLnrGTsnxv_YiVTV6j==~uqW)w% zk1U#oH$yWWU3x6Ux+7qXM7r4l-H~>vJB$&U8`2#KRb$;^tUC(UXguG1Jm1ksH%SLE zLJLE>qo6x7FyFCQcO0zo_5>}`G)7gn2pt_7Jr1MC21XyvY7+R95a013{v_}xj^$4Q ze+u}ML;NY=PYv)-04pK)ZyK!WXw@fhhS9ib(3l?5n1=DVBPVf3AWu$)8gh3|MR_s< z*i3sC_ID1rX~?8g9q=PpJp+m}(pK8fArEcHrRSrurvW<+oY{!;0=C1k?K8*$cBcMf z`=!vP1af?CO=Jf$+&-fbVt)V`E%Muz%bDq1m1js~c9>09%$67M{#%gt{Yj{V?wDJa z!xRK$wT!6Y*sk?1wRs=Un8-8(|H@*(x##xr68HkJX))en7;1I`;dJ>@v}|?~+eM%) zh5HnFGs>$F1c)e;vCjfw+433|XDzrG--jrO46Y+2iA;Gzh6)GFp<)g?V@Tu~3^ZNe zF}byALx5H-Zic}WW80qVg5HMXaeuLe!7ZsG;akp!4EN-F!d``+e=AT`-l(p(_!ZBs zc7OTy>6822dp}j5K6=n=-|XJ~y;}FS{OW~s7tVKo+pnHKcX0ns_2BWngZ;01cOG`{ zebIaL^|QUs!GjyU{cox}f$dl8w$-prcm8a%B~mcqpt)&}fEyou5hbJK=u;=rLkMNHRp^8BVRqcn4$PFpAq=r}z1%y`LXJ=z<); z{U7c=`|&1(`|rnJ2DmxB&R%yfG`o*)bieydqR;mJ=snphrNh)Nmhp4?PP6IQ+a|X? zSES=)kO?1t7BAV{v6ws|xEGk9GOdr&wxqEI@F{00GPPJl=0{k)hW!_yx(LO`DHFv| ziprRLuh0H3@Iz_2R?>x0tGSSXwHoNx8XgTCv~#uEM}g^tJ?wQ5l|BaiVumv59QO^+ yr;itdp%~{GB5Uw3Kwoc_`GSlI!yOK5E4QhdV{}!KY+trQ4?}T-22|xxGAbFKfihN=J&qm^-$H76z|+k_d+yhoVHt(7^knYBZP_9lQf*(}jo1N~#S9hxdkkQ%!&hto;bcM?nHY>R;~trq%w!h)EoK9-qxySM za662$yHUpS!>t*f#RvZmd?WaZDJ5h{V{msxDRO|t%#}fjG-7iJ(j^J3C5bK2u}}x( zHm>!K1DpdpcD>VTc3j}xxXm1mi@Ya0aX0QYYr=$1Hfo-Afjg~9F2Lgj_4A|F2!r$(X-mB!8$7)ot6{U)#x<7jBDf} z>gVdS>mXYPZ>mUW{5-B}Z#GZ|v^((&@s)~a1gg;=tInBPL|;J>qCbGB-i&8bgvp_< zw(<@{#BPO)yp-=LI|-*e5l|v>ibQo}I8Auf7^mwfX{9_Xr=d{oLWZ&|fE~W5dIgv7 zPh&ol<1ppQ5xj_wxWE=wEx$T1S{l*cZVU=&X#$OSOIvNjVsajUc4lG1*(lE>cv`3~ zh;Ag&K?atkz-Cg0FI7j&Mj+$hOvqSeMRon%$3BY=s`mk5lqY4Hjq);sqp-e{A6AP2 zZdNI&5nTT^#CS6lqKBtZdz{7X<@q~06L_GH2hib0q zlJ7;T1K={Oa-}ZJ@+-42=!=JzkQ&6qe}UkGU~pyV5U(5laCVJv({J#t-QyLTXq4aiu2)@U!45->(Hq>VBq8B zbz?qHqFE@TJX7r^%evmxCA1sKgbVB}or7Kei5!~Z8mwzmL32uHx+1UO{!2h!gRj6s z5b8pPjyC?6fhS5k9@@$cf((in1j-A7G-qXkd^ZR_F2khS5qMo|^fMN*%0ip9fx|8; vFq1BIuLzWk;d-?{Som^Fhc7VI)pR+z9y_h|G(hFPUHS12jzWRsbJ2VRIsUD| literal 0 HcmV?d00001 diff --git a/src/漏洞爬取统计检索/guis/__pycache__/jiemian5.cpython-37.pyc b/src/漏洞爬取统计检索/guis/__pycache__/jiemian5.cpython-37.pyc new file mode 100644 index 0000000000000000000000000000000000000000..5adec6243945d2e6e3d4183bf5bb403e5b17ec14 GIT binary patch literal 1655 zcmZux&5ImG6tC)!`JTxnX4kl`5rjnN;F1LQA|lBSxR+#1XLkt<15M9Vx%SZ0y;fJV z&a#5CIpm_&ns+mWk@ud0r`?XyiT;}IG>{tRHQ!iX1vaMGuY^bJOtafkFxW-<$A zi`f8NQmqZ&z2W)cZ9inu_VNgQ@xvK5Pr5MTAthv&rm)=uN|6IBW*!)nNFz0OLAy&_ zYnO~Iu(8kv^ftnNuRtTu3Mh*Hb#+v#amDflx5pW(Ctqria^J(uBV%(MB4=0G=>&dYlGypC$H`hk@r z&OxMx=4pBk?U094zmWSbfNlY7vXjvCMU*q&bP;X9x;}m>J)iN6Ks8!DRe!1${ufXL z|92p&IpU!dUa+mJt!kUXXV<-Hl*o6K9e6_?2q+ObL89u?8wNaUjFSb_lqWn)hMrK> zSb8#vf$hAknlYE}4##{Xd)|brlHjqw!v(geDm$6KC~HJ#wFoG%E1(gt>!?)_`lkVC zZR7=dLbC>+dw`u5Rp_h$PK29F-zKTbcHefrB_91Y{al}lGH&wf4}T)uR4@9yB} z*Zrfzua58jFx&s~_~F-o{djP6|KsDsZw8x*9}mVppZH$5ytFk{W!P}Cwc($FF!38e z2(8hE{#!s>MuWCto~J0`Kd?2TIYWxxeCp3cEK|4?>JaRKB!lv{Y|LS*DsTz>_~>o8)h6QLEz(9Yt2 zGVo00dmUR 0 0 - 800 + 802 600 @@ -82,10 +82,24 @@ + + + + 设置 + + + - + + + + 780 + 0 + + + @@ -94,8 +108,8 @@ 0 0 - 800 - 22 + 802 + 26 diff --git a/src/jiemian/guis/jiemian2.py b/src/漏洞爬取统计检索/guis/jiemian2.py similarity index 63% rename from src/jiemian/guis/jiemian2.py rename to src/漏洞爬取统计检索/guis/jiemian2.py index 9e3a6bc..7b9cca0 100644 --- a/src/jiemian/guis/jiemian2.py +++ b/src/漏洞爬取统计检索/guis/jiemian2.py @@ -14,7 +14,7 @@ from PyQt5 import QtCore, QtGui, QtWidgets class Ui_MainWindow2(object): def setupUi(self, MainWindow): MainWindow.setObjectName("MainWindow") - MainWindow.resize(800, 600) + MainWindow.resize(804, 600) self.centralwidget = QtWidgets.QWidget(MainWindow) self.centralwidget.setObjectName("centralwidget") self.gridLayout = QtWidgets.QGridLayout(self.centralwidget) @@ -24,92 +24,61 @@ class Ui_MainWindow2(object): self.label = QtWidgets.QLabel(self.centralwidget) self.label.setMinimumSize(QtCore.QSize(71, 41)) self.label.setMaximumSize(QtCore.QSize(16777215, 41)) - font = QtGui.QFont() - font.setFamily("宋体") - font.setPointSize(16) - self.label.setFont(font) + self.label.setObjectName("label") self.horizontalLayout.addWidget(self.label) self.lineEdit = QtWidgets.QLineEdit(self.centralwidget) self.lineEdit.setMinimumSize(QtCore.QSize(131, 21)) self.lineEdit.setMaximumSize(QtCore.QSize(16777215, 21)) - font = QtGui.QFont() - font.setFamily("Times New Roman") - font.setPointSize(16) - self.lineEdit.setFont(font) + self.lineEdit.setObjectName("lineEdit") self.horizontalLayout.addWidget(self.lineEdit) self.label_2 = QtWidgets.QLabel(self.centralwidget) self.label_2.setMinimumSize(QtCore.QSize(111, 41)) self.label_2.setMaximumSize(QtCore.QSize(16777215, 41)) - font = QtGui.QFont() - font.setFamily("宋体") - font.setPointSize(16) - self.label_2.setFont(font) + self.label_2.setObjectName("label_2") self.horizontalLayout.addWidget(self.label_2) self.dateEdit = QtWidgets.QDateEdit(self.centralwidget) self.dateEdit.setMinimumSize(QtCore.QSize(111, 21)) self.dateEdit.setMaximumSize(QtCore.QSize(16777215, 21)) - font = QtGui.QFont() - font.setFamily("Times New Roman") - font.setPointSize(12) - self.dateEdit.setFont(font) + self.dateEdit.setCalendarPopup(True) self.dateEdit.setObjectName("dateEdit") self.horizontalLayout.addWidget(self.dateEdit) self.label_3 = QtWidgets.QLabel(self.centralwidget) self.label_3.setMinimumSize(QtCore.QSize(111, 41)) self.label_3.setMaximumSize(QtCore.QSize(16777215, 41)) - font = QtGui.QFont() - font.setFamily("宋体") - font.setPointSize(16) - self.label_3.setFont(font) + self.label_3.setObjectName("label_3") self.horizontalLayout.addWidget(self.label_3) self.dateEdit_2 = QtWidgets.QDateEdit(self.centralwidget) self.dateEdit_2.setMinimumSize(QtCore.QSize(111, 21)) self.dateEdit_2.setMaximumSize(QtCore.QSize(16777215, 21)) - font = QtGui.QFont() - font.setFamily("Times New Roman") - font.setPointSize(12) - self.dateEdit_2.setFont(font) + self.dateEdit_2.setCalendarPopup(True) self.dateEdit_2.setObjectName("dateEdit_2") self.horizontalLayout.addWidget(self.dateEdit_2) self.label_4 = QtWidgets.QLabel(self.centralwidget) self.label_4.setMinimumSize(QtCore.QSize(102, 41)) - font = QtGui.QFont() - font.setFamily("微软雅黑") - font.setBold(True) - font.setWeight(75) - self.label_4.setFont(font) + self.label_4.setObjectName("label_4") self.horizontalLayout.addWidget(self.label_4) + self.pushButton = QtWidgets.QPushButton(self.centralwidget) + self.pushButton.setObjectName("pushButton") + self.horizontalLayout.addWidget(self.pushButton) self.gridLayout.addLayout(self.horizontalLayout, 0, 0, 1, 1) self.tableWidget = QtWidgets.QTableWidget(self.centralwidget) self.tableWidget.setObjectName("tableWidget") - self.tableWidget.setColumnCount(6) + self.tableWidget.setColumnCount(0) self.tableWidget.setRowCount(0) - item = QtWidgets.QTableWidgetItem() - self.tableWidget.setHorizontalHeaderItem(0, item) - item = QtWidgets.QTableWidgetItem() - self.tableWidget.setHorizontalHeaderItem(1, item) - item = QtWidgets.QTableWidgetItem() - self.tableWidget.setHorizontalHeaderItem(2, item) - item = QtWidgets.QTableWidgetItem() - self.tableWidget.setHorizontalHeaderItem(3, item) - item = QtWidgets.QTableWidgetItem() - self.tableWidget.setHorizontalHeaderItem(4, item) - item = QtWidgets.QTableWidgetItem() - self.tableWidget.setHorizontalHeaderItem(5, item) self.tableWidget.horizontalHeader().setCascadingSectionResizes(False) self.tableWidget.horizontalHeader().setSortIndicatorShown(False) self.tableWidget.horizontalHeader().setStretchLastSection(False) self.gridLayout.addWidget(self.tableWidget, 1, 0, 1, 1) MainWindow.setCentralWidget(self.centralwidget) self.menubar = QtWidgets.QMenuBar(MainWindow) - self.menubar.setGeometry(QtCore.QRect(0, 0, 800, 22)) + self.menubar.setGeometry(QtCore.QRect(0, 0, 804, 22)) self.menubar.setObjectName("menubar") MainWindow.setMenuBar(self.menubar) self.statusbar = QtWidgets.QStatusBar(MainWindow) @@ -125,16 +94,5 @@ class Ui_MainWindow2(object): self.label.setText(_translate("MainWindow", "编号:")) self.label_2.setText(_translate("MainWindow", "开始时间:")) self.label_3.setText(_translate("MainWindow", "结束时间:")) - self.label_4.setText(_translate("MainWindow", " 共:0条")) - item = self.tableWidget.horizontalHeaderItem(0) - item.setText(_translate("MainWindow", "漏洞标题")) - item = self.tableWidget.horizontalHeaderItem(1) - item.setText(_translate("MainWindow", "危害级别")) - item = self.tableWidget.horizontalHeaderItem(2) - item.setText(_translate("MainWindow", "点击数")) - item = self.tableWidget.horizontalHeaderItem(3) - item.setText(_translate("MainWindow", "评论")) - item = self.tableWidget.horizontalHeaderItem(4) - item.setText(_translate("MainWindow", "关注")) - item = self.tableWidget.horizontalHeaderItem(5) - item.setText(_translate("MainWindow", "时间")) + self.label_4.setText(_translate("MainWindow", " 共:0条")) + self.pushButton.setText(_translate("MainWindow", "查找")) diff --git a/src/jiemian/guis/jiemian2.ui b/src/漏洞爬取统计检索/guis/jiemian2.ui similarity index 87% rename from src/jiemian/guis/jiemian2.ui rename to src/漏洞爬取统计检索/guis/jiemian2.ui index 665e728..278f568 100644 --- a/src/jiemian/guis/jiemian2.ui +++ b/src/漏洞爬取统计检索/guis/jiemian2.ui @@ -6,7 +6,7 @@ 0 0 - 800 + 804 600 @@ -180,7 +180,14 @@ - 共:0条 + 共:0条 + + + + + + + 查找 @@ -197,36 +204,6 @@ false - - - 漏洞标题 - - - - - 危害级别 - - - - - 点击数 - - - - - 评论 - - - - - 关注 - - - - - 时间 - - @@ -236,7 +213,7 @@ 0 0 - 800 + 804 22 diff --git a/src/jiemian/guis/jiemian3.py b/src/漏洞爬取统计检索/guis/jiemian3.py similarity index 88% rename from src/jiemian/guis/jiemian3.py rename to src/漏洞爬取统计检索/guis/jiemian3.py index ac48e9a..06d11c8 100644 --- a/src/jiemian/guis/jiemian3.py +++ b/src/漏洞爬取统计检索/guis/jiemian3.py @@ -9,7 +9,7 @@ from PyQt5 import QtCore, QtGui, QtWidgets - +from PyQt5.QtChart import QChartView class Ui_MainWindow3(object): def setupUi(self, MainWindow): @@ -67,6 +67,11 @@ class Ui_MainWindow3(object): self.widget = QtWidgets.QWidget(self.tab) self.widget.setMinimumSize(QtCore.QSize(731, 461)) self.widget.setObjectName("widget") + self.gridLayout_4 = QtWidgets.QGridLayout(self.widget) + self.gridLayout_4.setObjectName("gridLayout_4") + self.graphicsView = QChartView(self.widget) + self.graphicsView.setObjectName("graphicsView") + self.gridLayout_4.addWidget(self.graphicsView, 0, 0, 1, 1) self.gridLayout_2.addWidget(self.widget, 1, 0, 1, 1) self.tabWidget.addTab(self.tab, "") self.tab_2 = QtWidgets.QWidget() @@ -80,6 +85,9 @@ class Ui_MainWindow3(object): self.comboBox_2.setMaximumSize(QtCore.QSize(100, 22)) self.comboBox_2.setObjectName("comboBox_2") self.comboBox_2.addItem("") + self.comboBox_2.addItem("") + self.comboBox_2.addItem("") + self.comboBox_2.addItem("") self.horizontalLayout_2.addWidget(self.comboBox_2) self.label_3 = QtWidgets.QLabel(self.tab_2) self.label_3.setMinimumSize(QtCore.QSize(54, 12)) @@ -115,6 +123,11 @@ class Ui_MainWindow3(object): self.widget_2 = QtWidgets.QWidget(self.tab_2) self.widget_2.setMinimumSize(QtCore.QSize(731, 461)) self.widget_2.setObjectName("widget_2") + self.gridLayout_5 = QtWidgets.QGridLayout(self.widget_2) + self.gridLayout_5.setObjectName("gridLayout_5") + self.graphicsView_2 = QChartView(self.widget_2) + self.graphicsView_2.setObjectName("graphicsView_2") + self.gridLayout_5.addWidget(self.graphicsView_2, 0, 0, 1, 1) self.gridLayout_3.addWidget(self.widget_2, 1, 0, 1, 1) self.tabWidget.addTab(self.tab_2, "") self.gridLayout.addWidget(self.tabWidget, 0, 0, 1, 1) @@ -140,7 +153,11 @@ class Ui_MainWindow3(object): self.pushButton_2.setText(_translate("MainWindow", "查询")) self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab), _translate("MainWindow", "漏洞分布")) self.comboBox_2.setItemText(0, _translate("MainWindow", "全部")) + self.comboBox_2.setItemText(1, _translate("MainWindow", "高危")) + self.comboBox_2.setItemText(2, _translate("MainWindow", "中危")) + self.comboBox_2.setItemText(3, _translate("MainWindow", "低危")) self.label_3.setText(_translate("MainWindow", "开始时间:")) self.label_4.setText(_translate("MainWindow", "结束时间:")) self.pushButton.setText(_translate("MainWindow", "查询")) self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_2), _translate("MainWindow", "漏洞趋势图")) + diff --git a/src/jiemian/guis/jiemian3.ui b/src/漏洞爬取统计检索/guis/jiemian3.ui similarity index 90% rename from src/jiemian/guis/jiemian3.ui rename to src/漏洞爬取统计检索/guis/jiemian3.ui index 57b03ee..bc4d5dc 100644 --- a/src/jiemian/guis/jiemian3.ui +++ b/src/漏洞爬取统计检索/guis/jiemian3.ui @@ -159,6 +159,11 @@ 461 + + + + + @@ -189,6 +194,21 @@ 全部 + + + 高危 + + + + + 中危 + + + + + 低危 + + @@ -302,6 +322,11 @@ 461 + + + + + @@ -322,6 +347,13 @@ + + + QChartView + QGraphicsView +
qchartview.h
+
+
diff --git a/src/漏洞爬取统计检索/guis/jiemian4.py b/src/漏洞爬取统计检索/guis/jiemian4.py new file mode 100644 index 0000000..daf6109 --- /dev/null +++ b/src/漏洞爬取统计检索/guis/jiemian4.py @@ -0,0 +1,70 @@ +# -*- coding: utf-8 -*- + +# Form implementation generated from reading ui file 'jiemian4.ui' +# +# Created by: PyQt5 UI code generator 5.15.4 +# +# WARNING: Any manual changes made to this file will be lost when pyuic5 is +# run again. Do not edit this file unless you know what you are doing. + + +from PyQt5 import QtCore, QtGui, QtWidgets + + +class Ui_MainWindow4(object): + def setupUi(self, MainWindow4): + MainWindow4.setObjectName("MainWindow4") + MainWindow4.resize(802, 600) + self.centralwidget = QtWidgets.QWidget(MainWindow4) + self.centralwidget.setObjectName("centralwidget") + self.gridLayout = QtWidgets.QGridLayout(self.centralwidget) + self.gridLayout.setObjectName("gridLayout") + self.label = QtWidgets.QLabel(self.centralwidget) + self.label.setMinimumSize(QtCore.QSize(61, 21)) + self.label.setMaximumSize(QtCore.QSize(61, 21)) + + self.label.setObjectName("label") + self.gridLayout.addWidget(self.label, 0, 0, 1, 1) + self.lineEdit = QtWidgets.QLineEdit(self.centralwidget) + self.lineEdit.setMinimumSize(QtCore.QSize(71, 21)) + self.lineEdit.setMaximumSize(QtCore.QSize(71, 21)) + self.lineEdit.setObjectName("lineEdit") + self.gridLayout.addWidget(self.lineEdit, 0, 1, 1, 1) + self.pushButton = QtWidgets.QPushButton(self.centralwidget) + self.pushButton.setMinimumSize(QtCore.QSize(61, 28)) + self.pushButton.setMaximumSize(QtCore.QSize(61, 28)) + self.pushButton.setObjectName("pushButton") + self.gridLayout.addWidget(self.pushButton, 0, 2, 1, 1) + self.progressBar = QtWidgets.QProgressBar(self.centralwidget) + self.progressBar.setProperty("value", 0) + self.progressBar.setObjectName("progressBar") + self.gridLayout.addWidget(self.progressBar, 0, 3, 1, 1) + self.pushButton_4 = QtWidgets.QPushButton(self.centralwidget) + self.pushButton_4.setObjectName("pushButton_4") + self.gridLayout.addWidget(self.pushButton_4, 0, 4, 1, 1) + self.pushButton_5 = QtWidgets.QPushButton(self.centralwidget) + self.pushButton_5.setObjectName("pushButton_5") + self.gridLayout.addWidget(self.pushButton_5, 0, 5, 1, 1) + self.textEdit = QtWidgets.QTextEdit(self.centralwidget) + self.textEdit.setMinimumSize(QtCore.QSize(780, 0)) + self.textEdit.setObjectName("textEdit") + self.gridLayout.addWidget(self.textEdit, 1, 0, 1, 6) + MainWindow4.setCentralWidget(self.centralwidget) + self.menubar = QtWidgets.QMenuBar(MainWindow4) + self.menubar.setGeometry(QtCore.QRect(0, 0, 802, 26)) + self.menubar.setObjectName("menubar") + MainWindow4.setMenuBar(self.menubar) + self.statusbar = QtWidgets.QStatusBar(MainWindow4) + self.statusbar.setObjectName("statusbar") + MainWindow4.setStatusBar(self.statusbar) + + self.retranslateUi(MainWindow4) + QtCore.QMetaObject.connectSlotsByName(MainWindow4) + + def retranslateUi(self, MainWindow4): + _translate = QtCore.QCoreApplication.translate + MainWindow4.setWindowTitle(_translate("MainWindow4", "漏洞管理系统")) + self.label.setText(_translate("MainWindow4", "验证码:")) + self.pushButton.setText(_translate("MainWindow4", "确定")) + self.pushButton_4.setText(_translate("MainWindow4", "开始")) + self.pushButton_5.setText(_translate("MainWindow4", "设置")) diff --git a/src/漏洞爬取统计检索/guis/jiemian4.ui b/src/漏洞爬取统计检索/guis/jiemian4.ui new file mode 100644 index 0000000..22fcbfd --- /dev/null +++ b/src/漏洞爬取统计检索/guis/jiemian4.ui @@ -0,0 +1,125 @@ + + + MainWindow4 + + + + 0 + 0 + 802 + 600 + + + + 漏洞管理系统 + + + + + + + + 61 + 21 + + + + + 61 + 21 + + + + + 宋体 + 9 + + + + 验证码: + + + + + + + + 71 + 21 + + + + + 71 + 21 + + + + + + + + + 61 + 28 + + + + + 61 + 28 + + + + 确定 + + + + + + + 0 + + + + + + + 开始 + + + + + + + 设置 + + + + + + + + 780 + 0 + + + + + + + + + + 0 + 0 + 802 + 26 + + + + + + + + diff --git a/src/漏洞爬取统计检索/guis/jiemian5.py b/src/漏洞爬取统计检索/guis/jiemian5.py new file mode 100644 index 0000000..e28ea65 --- /dev/null +++ b/src/漏洞爬取统计检索/guis/jiemian5.py @@ -0,0 +1,48 @@ +# -*- coding: utf-8 -*- + +# Form implementation generated from reading ui file 'jiemian5.ui' +# +# Created by: PyQt5 UI code generator 5.15.4 +# +# WARNING: Any manual changes made to this file will be lost when pyuic5 is +# run again. Do not edit this file unless you know what you are doing. + + +from PyQt5 import QtCore, QtGui, QtWidgets + + +class Ui_MainWindow5(object): + def setupUi(self, MainWindow5): + MainWindow5.setObjectName("MainWindow5") + MainWindow5.resize(659, 714) + self.centralwidget = QtWidgets.QWidget(MainWindow5) + self.centralwidget.setObjectName("centralwidget") + self.gridLayout = QtWidgets.QGridLayout(self.centralwidget) + self.gridLayout.setObjectName("gridLayout") + self.label = QtWidgets.QLabel(self.centralwidget) + + self.label.setScaledContents(False) + self.label.setAlignment(QtCore.Qt.AlignCenter) + self.label.setObjectName("label") + self.gridLayout.addWidget(self.label, 0, 0, 1, 1) + self.tableWidget = QtWidgets.QTableWidget(self.centralwidget) + self.tableWidget.setObjectName("tableWidget") + self.tableWidget.setColumnCount(0) + self.tableWidget.setRowCount(0) + self.gridLayout.addWidget(self.tableWidget, 1, 0, 1, 1) + MainWindow5.setCentralWidget(self.centralwidget) + self.menubar = QtWidgets.QMenuBar(MainWindow5) + self.menubar.setGeometry(QtCore.QRect(0, 0, 659, 26)) + self.menubar.setObjectName("menubar") + MainWindow5.setMenuBar(self.menubar) + self.statusbar = QtWidgets.QStatusBar(MainWindow5) + self.statusbar.setObjectName("statusbar") + MainWindow5.setStatusBar(self.statusbar) + + self.retranslateUi(MainWindow5) + QtCore.QMetaObject.connectSlotsByName(MainWindow5) + + def retranslateUi(self, MainWindow5): + _translate = QtCore.QCoreApplication.translate + MainWindow5.setWindowTitle(_translate("MainWindow5", "MainWindow")) + self.label.setText(_translate("MainWindow5", "漏洞名称")) diff --git a/src/漏洞爬取统计检索/guis/jiemian5.ui b/src/漏洞爬取统计检索/guis/jiemian5.ui new file mode 100644 index 0000000..e72f068 --- /dev/null +++ b/src/漏洞爬取统计检索/guis/jiemian5.ui @@ -0,0 +1,56 @@ + + + MainWindow5 + + + + 0 + 0 + 659 + 714 + + + + MainWindow + + + + + + + + 楷体 + 24 + + + + 漏洞名称 + + + false + + + Qt::AlignCenter + + + + + + + + + + + + 0 + 0 + 659 + 26 + + + + + + + + diff --git a/src/漏洞爬取统计检索/pythonProject/__pycache__/main.cpython-36.pyc b/src/漏洞爬取统计检索/pythonProject/__pycache__/main.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..cd485ef8ae9563b246327f1d0c151f3fbb2057e1 GIT binary patch literal 16406 zcmcIrX^<4xeV?P}+!I(ppsR&snZfK_d$S;c7hxg63JWBZ1=VPFx_7r{XJ>}jJ?zk) zjX^5`vBhEQK$fv2bXm3zBuBQegsiGmDxZ>6%9RhP{*)>+dwlYz*w<@bL*({r%1 zAS+qu*RS9G{`dd?-gLFJ`2X;q)A66~vDyA)tNIg=-;PJU!)~)lHp!l{jhJuyh#lXK zlw-;{;V`K`8}KDk-X2?B(H2su9|g@bVxqQkJhWDCaD?k zHByVziuYQnO=`#c7HNgF67O~Bxk~Cl&klJ#`rRt6me!#BHfgPN3*NU&>!kH~-yz*9 z-G=v_((Te6c#G1Vl8E3BB#$Moy9M-4zW^^T$iidiF zVR7T$ctS~Q8FgY%+@03sl!yZHk^SNmVk8_Jh;;?T9ocM3J}8eqtZ1R0uD)PbuekBy z2M_Gsvsp|jld||dIWd_Dh(i-BGbM+*FlsO|5a|te_lf)CV{xXGdg*G-#0QnMl$ln= z;RBc{7#*xeP4Rux4tc~7`6+85BDS$;AslY_N98K0cy5v_^#?-?4xwwPDx2(cNftTN~#EfL&I9j z@_QdB&&tWTG{~U%SP9Srb$jREa=P=e{Q>=AP1oyiRNu9ia8#krLGb`nB!Gn&s0JcE z!7kuspr$N*UD+}q27&_m)#X>$U$-%i)bffzbXY3UbY+#ijPSf95!EdA<~Bgw*3}mV z>aIgoK%XhEerfs#NsiW`yn0#7p_~NNSY}^bn+R5Su?P`>uHuO6sG^?C^oh=);W|kZ z?FvSEmXL0n%R;3)G7uz@$TBP*0u;oJLlg1zxV%M-_VSAYsAhs{;;-K(pKVZNN4G?R{SYS6ERzGK%nn7v;l6Mb zJASxxSV<@2p(q+e^e1n6a1O)L-~&~o_G8>0ahJm6u}nS$42ciNv&v+Kvigpi;W=

S^zK(II1&q;WU1;l+! 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 MY=OV`H~g{R0jajFpa1{> literal 0 HcmV?d00001 diff --git a/src/漏洞爬取统计检索/pythonProject/geckodriver.log b/src/漏洞爬取统计检索/pythonProject/geckodriver.log new file mode 100644 index 0000000..e69de29 diff --git a/src/漏洞爬取统计检索/pythonProject/main.py b/src/漏洞爬取统计检索/pythonProject/main.py new file mode 100644 index 0000000..0c9a28c --- /dev/null +++ b/src/漏洞爬取统计检索/pythonProject/main.py @@ -0,0 +1,455 @@ +import threading +import requests +from lxml import etree +from PIL import Image +import xlsxwriter +from requests.utils import add_dict_to_cookiejar +import execjs +import hashlib +import json +import re +import time +import random + + +def get_UserAgents(): + UserAgents = [ + "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.47 Safari/537.36", + "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36", + "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.133 Safari/537.36", + "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; AcooBrowser; .NET CLR 1.1.4322; .NET CLR 2.0.50727)", + "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; Acoo Browser; SLCC1; .NET CLR 2.0.50727; Media Center PC 5.0; .NET CLR 3.0.04506)", + "Mozilla/4.0 (compatible; MSIE 7.0; AOL 9.5; AOLBuild 4337.35; Windows NT 5.1; .NET CLR 1.1.4322; .NET CLR 2.0.50727)", + "Mozilla/5.0 (Windows; U; MSIE 9.0; Windows NT 9.0; en-US)", + "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0; .NET CLR 3.5.30729; .NET CLR 3.0.30729; .NET CLR 2.0.50727; Media Center PC 6.0)", + "Mozilla/5.0 (compatible; MSIE 8.0; Windows NT 6.0; Trident/4.0; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; .NET CLR 1.0.3705; .NET CLR 1.1.4322)", + "Mozilla/4.0 (compatible; MSIE 7.0b; Windows NT 5.2; .NET CLR 1.1.4322; .NET CLR 2.0.50727; InfoPath.2; .NET CLR 3.0.04506.30)", + "Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN) AppleWebKit/523.15 (KHTML, like Gecko, Safari/419.3) Arora/0.3 (Change: 287 c9dfb30)", + "Mozilla/5.0 (X11; U; Linux; en-US) AppleWebKit/527+ (KHTML, like Gecko, Safari/419.3) Arora/0.6", + "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.2pre) Gecko/20070215 K-Ninja/2.1.1", + "Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9) Gecko/20080705 Firefox/3.0 Kapiko/3.0", + "Mozilla/5.0 (X11; Linux i686; U;) Gecko/20070322 Kazehakase/0.4.5", + "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.8) Gecko Fedora/1.9.0.8-1.fc10 Kazehakase/0.5.6", + "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.56 Safari/535.11", + "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_3) AppleWebKit/535.20 (KHTML, like Gecko) Chrome/19.0.1036.7 Safari/535.20", + "Opera/9.80 (Macintosh; Intel Mac OS X 10.6.8; U; fr) Presto/2.9.168 Version/11.52", + "Mozilla/5.0 (Windows; U; Windows NT 5.2) Gecko/2008070208 Firefox/3.0.1", + "Mozilla/5.0 (Windows; U; Windows NT 5.1) Gecko/20070309 Firefox/2.0.0.3", + "Mozilla/5.0 (Windows; U; Windows NT 5.1) Gecko/20070803 Firefox/1.5.0.12", + "Opera/9.27 (Windows NT 5.2; U; zh-cn)", + "Mozilla/5.0 (Windows; U; Windows NT 5.2) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13", + "Mozilla/5.0 (iPhone; U; CPU like Mac OS X) AppleWebKit/420.1 (KHTML, like Gecko) Version/3.0 Mobile/4A93 ", + "Mozilla/5.0 (Windows; U; Windows NT 5.2) AppleWebKit/525.13 (KHTML, like Gecko) Chrome/0.2.149.27 ", + "Mozilla/5.0 (Linux; U; Android 3.2; ja-jp; F-01D Build/F0001) AppleWebKit/534.13 (KHTML, like Gecko) Version/4.0 Safari/534.13 ", + "Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_1 like Mac OS X; ja-jp) AppleWebKit/532.9 (KHTML, like Gecko) Version/4.0.5 Mobile/8B117 Safari/6531.22.7", + "Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_2_1 like Mac OS X; da-dk) AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 Mobile/8C148 Safari/6533.18.5 ", + "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_5_6; en-US) AppleWebKit/530.9 (KHTML, like Gecko) Chrome/ Safari/530.9 ", + "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_0) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.56 Safari/535.11", + "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; 360SE)", + "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/535.11 (KHTML, like Gecko) Ubuntu/11.10 Chromium/27.0.1453.93 Chrome/27.0.1453.93 Safari/537.36", + "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/27.0.1453.93 Safari/537.36", + "Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/27.0.1453.94 Safari/537.36" + ] + UserAgent = random.choice(UserAgents) + return UserAgent + + +session = requests.session() +session_ = requests.session() +link_list = [] + + +class myThread(threading.Thread): + def __init__(self, threadID, name, counter, flag): + threading.Thread.__init__(self) + self.threadID = threadID + self.name = name + self.counter = counter + self.flag = flag + + def run(self): + spider(self.flag) + + +def get_proxy(): + proxy = session_.get("http://127.0.0.1:5010/get/").json().get("proxy") + print(proxy) + return {"http": "http://{}".format(proxy)} + + + +def login(email, password): + response = session.get('https://www.cnvd.org.cn/user/aesEncrypt?password=' + password) + passwd = re.findall(r'"data":"(.*?)\\r\\n"', response.text)[0] + captcha = get_captcha() + session.headers.update({ + 'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9', + 'Accept-Encoding': 'gzip,deflate,br', + 'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:41.0) Gecko/20100101 Firefox/41.0', + 'Accept-Language': 'zh-CN,zh;q=0.8,en-US;q=0.6,en;q=0.4', + 'Content-Type': 'application/x-www-form-urlencoded', + 'Cache-Control': 'max-age=0', + 'Connection': 'keep-alive', + 'Host': 'www.cnvd.org.cn', + 'Origin': 'https://www.cnvd.org.cn', + 'Referer': 'https://www.cnvd.org.cn/user/login', + 'Upgrade-Insecure-Requests': '1', + 'Sec-Fetch-Dest': 'document', + 'Sec-Fetch-Mode': 'navigate', + 'Sec-Fetch-Site': 'same-origin', + 'Sec-Fetch-User': '?1' + }) + form = { + 'email': email, + 'passwordHidden': passwd, + 'myCode': captcha + } + r = session.post('https://www.cnvd.org.cn/user/doLogin/loginForm', data=form) + jsl_clearance_s = re.findall(r'cookie=(.*?);location', r.text)[0] + jsl_clearance_s = str(execjs.eval(jsl_clearance_s)).split('=')[1].split(';')[0] + add_dict_to_cookiejar(session.cookies, {'__jsl_clearance_s': jsl_clearance_s}) + r = session.post('https://www.cnvd.org.cn/user/doLogin/loginForm', data=form) + data = json.loads(re.findall(r';go\((.*?)\)', r.text)[0]) + jsl_clearance_s = get__jsl_clearance_s(data) + add_dict_to_cookiejar(session.cookies, {'__jsl_clearance_s': jsl_clearance_s}) + r = session.post('https://www.cnvd.org.cn/user/doLogin/loginForm', data=form) + session.cookies.update(r.cookies) + jsl_clearance_s = re.findall(r'cookie=(.*?);location', r.text)[0] + jsl_clearance_s = str(execjs.eval(jsl_clearance_s)) + add_dict_to_cookiejar(session.cookies, {'__jsluid_h': jsl_clearance_s}) + r = session.get('https://www.cnvd.org.cn/user/reportManage') + print(r.text) + return 0 + + +def get_captcha(): + image = Image.open('captcha.png') + image.show() + captcha = input("验证码:") + return captcha + + +def get__jsl_clearance_s(data): + """ + 通过加密对比得到正确cookie参数 + :param data: 参数 + :return: 返回正确cookie参数 + """ + chars = len(data['chars']) + for i in range(chars): + for j in range(chars): + __jsl_clearance_s = data['bts'][0] + data['chars'][i] + data['chars'][j] + data['bts'][1] + encrypt = None + if data['ha'] == 'md5': + encrypt = hashlib.md5() + elif data['ha'] == 'sha1': + encrypt = hashlib.sha1() + elif data['ha'] == 'sha256': + encrypt = hashlib.sha256() + encrypt.update(__jsl_clearance_s.encode()) + result = encrypt.hexdigest() + if result == data['ct']: + return __jsl_clearance_s + + +def setCookie(url): + response1 = session.get(url) + + jsl_clearance_s = re.findall(r'cookie=(.*?);location', response1.text)[0] + jsl_clearance_s = str(execjs.eval(jsl_clearance_s)).split('=')[1].split(';')[0] + add_dict_to_cookiejar(session.cookies, {'__jsl_clearance_s': jsl_clearance_s}) + + response2 = session.get(url) + data = json.loads(re.findall(r';go\((.*?)\)', response2.text)[0]) + jsl_clearance_s = get__jsl_clearance_s(data) + add_dict_to_cookiejar(session.cookies, {'__jsl_clearance_s': jsl_clearance_s}) + response3 = session.get(url) + with open('captcha.png', 'wb') as f: + f.write(response3.content) + + +class CNVD(object): + def __init__(self): + self.host_url = "https://www.cnvd.org.cn" + self.base_url1 = "https://www.cnvd.org.cn/flaw/list?max={}&offset={}" + self.base_url2 = "https://www.cnvd.org.cn/webinfo/list?type=2&max={}&offset={}" + + def get_list_page(self, max_page, max, flag): + """ + 获取列表页html内容 + Arguments: max_page {[int]} -- [最大分页页码] + """ + for page in range(max_page): + print("正在采集第<%s>页" % str(page + 1)) + time.sleep(5) + offset = (page) * max + if flag == 1: + url = self.base_url1.format(max, offset) + else: + url = self.base_url2.format(max, offset) + response = session.get(url=url) + time.sleep(3) + content = response.text + + yield content + + def parse_list_page(self, content): + """ + 获取列表页中的详情页href,返回href列表 + Arguments: + content {[str]} -- [列表页html内容] + Returns: + [list] -- [详情页href列表] + """ + html = etree.HTML(content) + href_list = html.xpath("//tbody/tr/td//a/@href") + return href_list + + def handle_str(self, td_list): + """ + 字符串去除空格\r\n\t等字符 + Arguments: + td_list {[list]} -- [获取文本的列表] + Returns: + [type] -- [返回处理后的合并文本] + """ + result = '' + for td_str in td_list[1:]: + result += td_str.strip() + + result = "".join(result.split()) + + # 去除"危害级别"中的括号 + if result.endswith("()"): + result = result[:-2] + + return result + + def parse_detail_page1(self, content): + """ + 从详情页中提取信息 + Arguments: + content {[str]} -- [详情页html内容] + Returns: + [dict] -- [提取信息字典] + """ + + html = etree.HTML(content) + # print(content) + item = {} + if "请检查您的操作是否正确!您访问的资源不存在或已被删除" in content: + return item + # print(html.xpath("//div[@class='blkContainerPblk']//div[@class='blkContainerSblk']//h1/text()")[0]) + item['漏洞名称'] = '' if len( + html.xpath("//div[@class='blkContainerPblk']//div[@class='blkContainerSblk']//h1/text()")) == 0 else \ + html.xpath("//div[@class='blkContainerPblk']//div[@class='blkContainerSblk']//h1/text()")[0] + + tr_list = html.xpath("//div[@class='tableDiv']//table[@class='gg_detail']//tbody/tr") + # print(tr_list) + tr_list.pop(-1) + for tr in tr_list: + td_list = tr.xpath("./td/text()|./td/a/text()") + item[td_list[0]] = self.handle_str(td_list) + # print(item) + return item + + def parse_detail_page2(self, content): + """ + 从爬取到的一条新闻页中提取具体的新闻内容 + Arguments: + content {[str]} -- [详情页html内容] + Returns: + [dict] -- [提取信息字典] + """ + html = etree.HTML(content) + item = {} + item['新闻标题'] = '' if len( + html.xpath("//div[@class='blkContainer']//div[@class='blkContainerSblk']/h1/text()")) == 0 else \ + html.xpath("//div[@class='blkContainer']//div[@class='blkContainerSblk']/h1/text()")[0] + item['发布时间'] = '' if len(html.xpath( + "//div[@class='blkContainer']//div[@class='blkContainerSblk']//div[@ class='artInfo']/text()")) == 0 else \ + html.xpath("//div[@class='blkContainer']//div[@class='blkContainerSblk']//div[@ class='artInfo']/text()")[0] + tmp_str = '' if len(html.xpath( + "//div[@class='blkContainer']//div[@class='blkContainerSblk']//div [@ class='blkContainerSblkCon clearfix']/p/text()")) == 0 else \ + html.xpath( + "//div [@ class='blkContainerSblkCon clearfix']/p/text() | //div[@class='blkContainerSblkCon clearfix']/p/span/text()") + # print(self.handle_str(tmp_str)[:-5]) + item['新闻内容'] = self.handle_str(tmp_str)[:-5] + tr_list = html.xpath("//div[@class='blkContainer']//div[@class='blkContainerSblk']") + for tr in tr_list: + td_list = tr.xpath( + "./div[@class='blkContainerSblkCon clearfix']/p/text()|./div[@class='blkContainerSblkCon clearfix']/p/a//text()") + # print(td_list) + if '参考链接:' in td_list[-1]: + item['参考链接'] = td_list[-1][5:] + item['新闻内容'] = td_list[0] + elif '参考链接:' in td_list: + item['新闻内容'] = td_list[0] + item['参考链接'] = td_list[-1] + else: + item['参考链接'] = td_list[-1] + # print(item) + return item + + def get_detail_info(self, href, flag): + """ + 通过详情页href,获取详情页html内容 + Arguments: + href {[str]} -- [详情页href] + Returns: + [调用详情页解析函数] -- [提取信息] + """ + url = self.host_url + href + print("正在采集详情页<%s>" % url) + if url == "https://www.cnvd.org.cn/flaw/show/": + return {} + __session = requests.session() + headers = {'User-Agent': get_UserAgents()} + + try: + proxy = get_proxy() + response1 = __session.get(url=url, headers=headers, proxies=proxy) + except: + response1 = __session.get(url=url, headers=headers) + jsl_clearance_s = re.findall(r'cookie=(.*?);location', response1.text)[0] + jsl_clearance_s = str(execjs.eval(jsl_clearance_s)).split('=')[1].split(';')[0] + add_dict_to_cookiejar(__session.cookies, {'__jsl_clearance_s': jsl_clearance_s}) + + try: + response2 = __session.get(url=url, headers=headers, proxies=proxy) + except: + response2 = __session.get(url=url, headers=headers) + data = json.loads(re.findall(r';go\((.*?)\)', response2.text)[0]) + jsl_clearance_s = get__jsl_clearance_s(data) + add_dict_to_cookiejar(__session.cookies, {'__jsl_clearance_s': jsl_clearance_s}) + + try: + response = __session.get(url=url, headers=headers, proxies=proxy) + except: + response = __session.get(url=url, headers=headers) + while "您访问频率太高,请稍候再试。" in response.content.decode(): + time.sleep(3) + __session.close() + return self.get_detail_info(href, flag) + print(response.content.decode()) + try: + response = __session.get(url=url, headers=headers, proxies=proxy) + except: + response = __session.get(url=url, headers=headers) + time.sleep(1) + __session.close() + + if flag == 1: + return self.parse_detail_page1(response.content.decode()) + elif flag == 2: + return self.parse_detail_page2(response.content.decode()) + + +def vulnerability_xlsx1(vlist): + workbook = xlsxwriter.Workbook('vulnerabilities_data1.xlsx') + worksheet = workbook.add_worksheet() + + column_names = ['漏洞名称', 'CNVD-ID', '公开日期', '危害级别', 'CVE ID', '漏洞描述', '漏洞类型', '参考链接', '厂商补丁', '来源链接', '影响产品'] + for i in range(len(column_names)): + worksheet.write(0, i, column_names[i]) + + for i in range(len(vlist)): + for j in range(len(column_names)): + worksheet.write(i + 1, j, vlist[i][column_names[j]] if column_names[j] in vlist[i].keys() else '') + + workbook.close() + + +def vulnerability_xlsx2(vlist): + workbook = xlsxwriter.Workbook('vulnerabilities_data2.xlsx') + worksheet = workbook.add_worksheet() + + column0_names = ['新闻标题', '发布时间', '新闻内容', '参考链接'] + for i in range(len(column0_names)): + worksheet.write(0, i, column0_names[i]) + for i in range(len(vlist)): + for j in range(len(column0_names)): + worksheet.write(i + 1, j, vlist[i][column0_names[j]] if column0_names[j] in vlist[i].keys() else '') + + workbook.close() + + +def spider(flag): + if flag == 1: + spider1() + elif flag == 2: + spider2() + + +def spider1(): + vlist = [] + cnvd = CNVD() + max_page = 10 + max = 100 + content_generator = cnvd.get_list_page(max_page, max, 1) + tmp = [] + for content in content_generator: + href_list = cnvd.parse_list_page(content) + for href in href_list: + link_list.append(href) + item = cnvd.get_detail_info(href, 1) + vlist.append(item) + vulnerability_xlsx1(vlist) + + +def spider2(): + vlist = [] + cnvd = CNVD() + max_page = 1 + max = 10 + content_generator = cnvd.get_list_page(max_page, max, 2) + for content in content_generator: + href_list = cnvd.parse_list_page(content) + for href in href_list: + item = cnvd.get_detail_info(href, 2) + vlist.append(item) + vulnerability_xlsx2(vlist) + + +def check_new(): + cnvd = CNVD() + max_page = 10 + max = 100 + content_generator = cnvd.get_list_page(max_page, max, 1) + for content in content_generator: + href_list = cnvd.parse_list_page(content) + # print(href_list) + if href_list[0] not in link_list: + return True + else: + return False + +def pachon(): + setCookie('https://www.cnvd.org.cn/common/myCodeNew') + login('lijieshi18@163.com', 'ig-srd8C24jPMgk') + threads = [] + # 创建新线程 + thread1 = myThread(1, "Thread-1", 1, 1) + thread2 = myThread(2, "Thread-2", 2, 2) + # 开启新线程 + thread1.start() + thread2.start() + # 添加线程到线程列表 + threads.append(thread1) + threads.append(thread2) + # 等待所有线程完成 + for t in threads: + t.join() + while 1: + time.sleep(3600) + if check_new(): + thread1 = myThread(1, "Thread-1", 1, 1) + thread2 = myThread(2, "Thread-2", 2, 2) + thread1.start() + thread2.start() + threads.append(thread1) + for t in threads: + t.join() +if __name__ == "__main__": + pachon() + diff --git a/src/漏洞爬取统计检索/pythonProject/vulnerabilities_data1.xlsx b/src/漏洞爬取统计检索/pythonProject/vulnerabilities_data1.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..c0a90867b78bb635a3948127eb27e369928923aa GIT binary patch literal 139728 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 literal 0 HcmV?d00001 diff --git a/src/漏洞爬取统计检索/漏洞爬取统计检索.py b/src/漏洞爬取统计检索/漏洞爬取统计检索.py new file mode 100644 index 0000000..95f6b2d --- /dev/null +++ b/src/漏洞爬取统计检索/漏洞爬取统计检索.py @@ -0,0 +1,818 @@ +# -*- coding: utf-8 -*- +import os +import sys +import sys + +from PyQt5.QtWidgets import QApplication, QMainWindow +from PyQt5.QtChart import QChart, QChartView, QPieSeries, QPieSlice,QLineSeries +from PyQt5.QtGui import QPainter, QPen +from PyQt5.QtCore import Qt + +from PyQt5.QtGui import * +from PyQt5.QtWidgets import * +from PyQt5.QtCore import * +from PyQt5.QtChart import * +import xlwt +import xlrd +from PyQt5.QtWidgets import * +from PyQt5.QtCore import * +from PyQt5.QtGui import * +from guis.jiemian import * +from guis.jiemian2 import * +from guis.jiemian3 import * +from guis.jiemian4 import * +from guis.jiemian5 import * +from pythonProject.main import pachon +import time +import sys +from PyQt5 import QtWidgets, QtCore +from PyQt5.QtCore import QThread +import threading +import requests +from lxml import etree +from PIL import Image +import xlsxwriter +from requests.utils import add_dict_to_cookiejar +import execjs +import hashlib +import json +import re +import time +import random + + +def get_UserAgents(): + UserAgents = [ + "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.47 Safari/537.36", + "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36", + "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.133 Safari/537.36", + "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; AcooBrowser; .NET CLR 1.1.4322; .NET CLR 2.0.50727)", + "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; Acoo Browser; SLCC1; .NET CLR 2.0.50727; Media Center PC 5.0; .NET CLR 3.0.04506)", + "Mozilla/4.0 (compatible; MSIE 7.0; AOL 9.5; AOLBuild 4337.35; Windows NT 5.1; .NET CLR 1.1.4322; .NET CLR 2.0.50727)", + "Mozilla/5.0 (Windows; U; MSIE 9.0; Windows NT 9.0; en-US)", + "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0; .NET CLR 3.5.30729; .NET CLR 3.0.30729; .NET CLR 2.0.50727; Media Center PC 6.0)", + "Mozilla/5.0 (compatible; MSIE 8.0; Windows NT 6.0; Trident/4.0; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; .NET CLR 1.0.3705; .NET CLR 1.1.4322)", + "Mozilla/4.0 (compatible; MSIE 7.0b; Windows NT 5.2; .NET CLR 1.1.4322; .NET CLR 2.0.50727; InfoPath.2; .NET CLR 3.0.04506.30)", + "Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN) AppleWebKit/523.15 (KHTML, like Gecko, Safari/419.3) Arora/0.3 (Change: 287 c9dfb30)", + "Mozilla/5.0 (X11; U; Linux; en-US) AppleWebKit/527+ (KHTML, like Gecko, Safari/419.3) Arora/0.6", + "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.2pre) Gecko/20070215 K-Ninja/2.1.1", + "Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9) Gecko/20080705 Firefox/3.0 Kapiko/3.0", + "Mozilla/5.0 (X11; Linux i686; U;) Gecko/20070322 Kazehakase/0.4.5", + "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.8) Gecko Fedora/1.9.0.8-1.fc10 Kazehakase/0.5.6", + "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.56 Safari/535.11", + "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_3) AppleWebKit/535.20 (KHTML, like Gecko) Chrome/19.0.1036.7 Safari/535.20", + "Opera/9.80 (Macintosh; Intel Mac OS X 10.6.8; U; fr) Presto/2.9.168 Version/11.52", + "Mozilla/5.0 (Windows; U; Windows NT 5.2) Gecko/2008070208 Firefox/3.0.1", + "Mozilla/5.0 (Windows; U; Windows NT 5.1) Gecko/20070309 Firefox/2.0.0.3", + "Mozilla/5.0 (Windows; U; Windows NT 5.1) Gecko/20070803 Firefox/1.5.0.12", + "Opera/9.27 (Windows NT 5.2; U; zh-cn)", + "Mozilla/5.0 (Windows; U; Windows NT 5.2) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13", + "Mozilla/5.0 (iPhone; U; CPU like Mac OS X) AppleWebKit/420.1 (KHTML, like Gecko) Version/3.0 Mobile/4A93 ", + "Mozilla/5.0 (Windows; U; Windows NT 5.2) AppleWebKit/525.13 (KHTML, like Gecko) Chrome/0.2.149.27 ", + "Mozilla/5.0 (Linux; U; Android 3.2; ja-jp; F-01D Build/F0001) AppleWebKit/534.13 (KHTML, like Gecko) Version/4.0 Safari/534.13 ", + "Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_1 like Mac OS X; ja-jp) AppleWebKit/532.9 (KHTML, like Gecko) Version/4.0.5 Mobile/8B117 Safari/6531.22.7", + "Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_2_1 like Mac OS X; da-dk) AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 Mobile/8C148 Safari/6533.18.5 ", + "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_5_6; en-US) AppleWebKit/530.9 (KHTML, like Gecko) Chrome/ Safari/530.9 ", + "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_0) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.56 Safari/535.11", + "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; 360SE)", + "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/535.11 (KHTML, like Gecko) Ubuntu/11.10 Chromium/27.0.1453.93 Chrome/27.0.1453.93 Safari/537.36", + "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/27.0.1453.93 Safari/537.36", + "Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/27.0.1453.94 Safari/537.36" + ] + UserAgent = random.choice(UserAgents) + return UserAgent + + +session = requests.session() +session_ = requests.session() +link_list = [] + + +class myThread(threading.Thread): + def __init__(self, threadID, name, counter, flag): + threading.Thread.__init__(self) + self.threadID = threadID + self.name = name + self.counter = counter + self.flag = flag + + def run(self): + spider(self.flag) + + +def get_proxy(): + proxy = session_.get("http://127.0.0.1:5010/get/").json().get("proxy") + print(proxy) + return {"http": "http://{}".format(proxy)} + + + +def login(email, password): + response = session.get('https://www.cnvd.org.cn/user/aesEncrypt?password=' + password) + passwd = re.findall(r'"data":"(.*?)\\r\\n"', response.text)[0] + captcha = get_captcha() + session.headers.update({ + 'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9', + 'Accept-Encoding': 'gzip,deflate,br', + 'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:41.0) Gecko/20100101 Firefox/41.0', + 'Accept-Language': 'zh-CN,zh;q=0.8,en-US;q=0.6,en;q=0.4', + 'Content-Type': 'application/x-www-form-urlencoded', + 'Cache-Control': 'max-age=0', + 'Connection': 'keep-alive', + 'Host': 'www.cnvd.org.cn', + 'Origin': 'https://www.cnvd.org.cn', + 'Referer': 'https://www.cnvd.org.cn/user/login', + 'Upgrade-Insecure-Requests': '1', + 'Sec-Fetch-Dest': 'document', + 'Sec-Fetch-Mode': 'navigate', + 'Sec-Fetch-Site': 'same-origin', + 'Sec-Fetch-User': '?1' + }) + form = { + 'email': email, + 'passwordHidden': passwd, + 'myCode': captcha + } + r = session.post('https://www.cnvd.org.cn/user/doLogin/loginForm', data=form) + jsl_clearance_s = re.findall(r'cookie=(.*?);location', r.text)[0] + jsl_clearance_s = str(execjs.eval(jsl_clearance_s)).split('=')[1].split(';')[0] + add_dict_to_cookiejar(session.cookies, {'__jsl_clearance_s': jsl_clearance_s}) + r = session.post('https://www.cnvd.org.cn/user/doLogin/loginForm', data=form) + data = json.loads(re.findall(r';go\((.*?)\)', r.text)[0]) + jsl_clearance_s = get__jsl_clearance_s(data) + add_dict_to_cookiejar(session.cookies, {'__jsl_clearance_s': jsl_clearance_s}) + r = session.post('https://www.cnvd.org.cn/user/doLogin/loginForm', data=form) + session.cookies.update(r.cookies) + jsl_clearance_s = re.findall(r'cookie=(.*?);location', r.text)[0] + jsl_clearance_s = str(execjs.eval(jsl_clearance_s)) + add_dict_to_cookiejar(session.cookies, {'__jsluid_h': jsl_clearance_s}) + r = session.get('https://www.cnvd.org.cn/user/reportManage') + print(r.text) + return 0 + + +def get_captcha(): + image = Image.open('captcha.png') + image.show() + captcha = input("验证码:") + return captcha + + +def get__jsl_clearance_s(data): + """ + 通过加密对比得到正确cookie参数 + :param data: 参数 + :return: 返回正确cookie参数 + """ + chars = len(data['chars']) + for i in range(chars): + for j in range(chars): + __jsl_clearance_s = data['bts'][0] + data['chars'][i] + data['chars'][j] + data['bts'][1] + encrypt = None + if data['ha'] == 'md5': + encrypt = hashlib.md5() + elif data['ha'] == 'sha1': + encrypt = hashlib.sha1() + elif data['ha'] == 'sha256': + encrypt = hashlib.sha256() + encrypt.update(__jsl_clearance_s.encode()) + result = encrypt.hexdigest() + if result == data['ct']: + return __jsl_clearance_s + + +def setCookie(url): + response1 = session.get(url) + + jsl_clearance_s = re.findall(r'cookie=(.*?);location', response1.text)[0] + jsl_clearance_s = str(execjs.eval(jsl_clearance_s)).split('=')[1].split(';')[0] + add_dict_to_cookiejar(session.cookies, {'__jsl_clearance_s': jsl_clearance_s}) + + response2 = session.get(url) + data = json.loads(re.findall(r';go\((.*?)\)', response2.text)[0]) + jsl_clearance_s = get__jsl_clearance_s(data) + add_dict_to_cookiejar(session.cookies, {'__jsl_clearance_s': jsl_clearance_s}) + response3 = session.get(url) + with open('captcha.png', 'wb') as f: + f.write(response3.content) + + +class CNVD(object): + def __init__(self): + self.host_url = "https://www.cnvd.org.cn" + self.base_url1 = "https://www.cnvd.org.cn/flaw/list?max={}&offset={}" + self.base_url2 = "https://www.cnvd.org.cn/webinfo/list?type=2&max={}&offset={}" + + def get_list_page(self, max_page, max, flag): + """ + 获取列表页html内容 + Arguments: max_page {[int]} -- [最大分页页码] + """ + for page in range(max_page): + print("正在采集第<%s>页" % str(page + 1)) + time.sleep(5) + offset = (page) * max + if flag == 1: + url = self.base_url1.format(max, offset) + else: + url = self.base_url2.format(max, offset) + response = session.get(url=url) + time.sleep(3) + content = response.text + yield content + + def parse_list_page(self, content): + """ + 获取列表页中的详情页href,返回href列表 + Arguments: + content {[str]} -- [列表页html内容] + Returns: + [list] -- [详情页href列表] + """ + html = etree.HTML(content) + href_list = html.xpath("//tbody/tr/td//a/@href") + return href_list + + def handle_str(self, td_list): + """ + 字符串去除空格\r\n\t等字符 + Arguments: + td_list {[list]} -- [获取文本的列表] + Returns: + [type] -- [返回处理后的合并文本] + """ + result = '' + for td_str in td_list[1:]: + result += td_str.strip() + + result = "".join(result.split()) + + # 去除"危害级别"中的括号 + if result.endswith("()"): + result = result[:-2] + + return result + + def parse_detail_page1(self, content): + """ + 从详情页中提取信息 + Arguments: + content {[str]} -- [详情页html内容] + Returns: + [dict] -- [提取信息字典] + """ + + html = etree.HTML(content) + # print(content) + item = {} + if "请检查您的操作是否正确!您访问的资源不存在或已被删除" in content: + return item + # print(html.xpath("//div[@class='blkContainerPblk']//div[@class='blkContainerSblk']//h1/text()")[0]) + item['漏洞名称'] = '' if len( + html.xpath("//div[@class='blkContainerPblk']//div[@class='blkContainerSblk']//h1/text()")) == 0 else \ + html.xpath("//div[@class='blkContainerPblk']//div[@class='blkContainerSblk']//h1/text()")[0] + + tr_list = html.xpath("//div[@class='tableDiv']//table[@class='gg_detail']//tbody/tr") + # print(tr_list) + tr_list.pop(-1) + for tr in tr_list: + td_list = tr.xpath("./td/text()|./td/a/text()") + item[td_list[0]] = self.handle_str(td_list) + # print(item) + return item + + def parse_detail_page2(self, content): + """ + 从爬取到的一条新闻页中提取具体的新闻内容 + Arguments: + content {[str]} -- [详情页html内容] + Returns: + [dict] -- [提取信息字典] + """ + html = etree.HTML(content) + item = {} + item['新闻标题'] = '' if len( + html.xpath("//div[@class='blkContainer']//div[@class='blkContainerSblk']/h1/text()")) == 0 else \ + html.xpath("//div[@class='blkContainer']//div[@class='blkContainerSblk']/h1/text()")[0] + item['发布时间'] = '' if len(html.xpath( + "//div[@class='blkContainer']//div[@class='blkContainerSblk']//div[@ class='artInfo']/text()")) == 0 else \ + html.xpath("//div[@class='blkContainer']//div[@class='blkContainerSblk']//div[@ class='artInfo']/text()")[0] + tmp_str = '' if len(html.xpath( + "//div[@class='blkContainer']//div[@class='blkContainerSblk']//div [@ class='blkContainerSblkCon clearfix']/p/text()")) == 0 else \ + html.xpath( + "//div [@ class='blkContainerSblkCon clearfix']/p/text() | //div[@class='blkContainerSblkCon clearfix']/p/span/text()") + # print(self.handle_str(tmp_str)[:-5]) + item['新闻内容'] = self.handle_str(tmp_str)[:-5] + tr_list = html.xpath("//div[@class='blkContainer']//div[@class='blkContainerSblk']") + for tr in tr_list: + td_list = tr.xpath( + "./div[@class='blkContainerSblkCon clearfix']/p/text()|./div[@class='blkContainerSblkCon clearfix']/p/a//text()") + # print(td_list) + if '参考链接:' in td_list[-1]: + item['参考链接'] = td_list[-1][5:] + item['新闻内容'] = td_list[0] + elif '参考链接:' in td_list: + item['新闻内容'] = td_list[0] + item['参考链接'] = td_list[-1] + else: + item['参考链接'] = td_list[-1] + # print(item) + return item + + def get_detail_info(self, href, flag): + """ + 通过详情页href,获取详情页html内容 + Arguments: + href {[str]} -- [详情页href] + Returns: + [调用详情页解析函数] -- [提取信息] + """ + url = self.host_url + href + print("正在采集详情页<%s>" % url) + if url == "https://www.cnvd.org.cn/flaw/show/": + return {} + __session = requests.session() + headers = {'User-Agent': get_UserAgents()} + + try: + proxy = get_proxy() + response1 = __session.get(url=url, headers=headers, proxies=proxy) + except: + response1 = __session.get(url=url, headers=headers) + jsl_clearance_s = re.findall(r'cookie=(.*?);location', response1.text)[0] + jsl_clearance_s = str(execjs.eval(jsl_clearance_s)).split('=')[1].split(';')[0] + add_dict_to_cookiejar(__session.cookies, {'__jsl_clearance_s': jsl_clearance_s}) + + try: + response2 = __session.get(url=url, headers=headers, proxies=proxy) + except: + response2 = __session.get(url=url, headers=headers) + data = json.loads(re.findall(r';go\((.*?)\)', response2.text)[0]) + jsl_clearance_s = get__jsl_clearance_s(data) + add_dict_to_cookiejar(__session.cookies, {'__jsl_clearance_s': jsl_clearance_s}) + + try: + response = __session.get(url=url, headers=headers, proxies=proxy) + except: + response = __session.get(url=url, headers=headers) + while "您访问频率太高,请稍候再试。" in response.content.decode(): + time.sleep(3) + __session.close() + return self.get_detail_info(href, flag) + print(response.content.decode()) + try: + response = __session.get(url=url, headers=headers, proxies=proxy) + except: + response = __session.get(url=url, headers=headers) + time.sleep(1) + __session.close() + if flag == 1: + return self.parse_detail_page1(response.content.decode()) + elif flag == 2: + return self.parse_detail_page2(response.content.decode()) + + +def vulnerability_xlsx1(vlist): + workbook = xlsxwriter.Workbook('vulnerabilities_data1.xlsx') + worksheet = workbook.add_worksheet() + + column_names = ['漏洞名称', 'CNVD-ID', '公开日期', '危害级别', 'CVE ID', '漏洞描述', '漏洞类型', '参考链接', '厂商补丁', '来源链接', '影响产品'] + for i in range(len(column_names)): + worksheet.write(0, i, column_names[i]) + + for i in range(len(vlist)): + for j in range(len(column_names)): + worksheet.write(i + 1, j, vlist[i][column_names[j]] if column_names[j] in vlist[i].keys() else '') + + workbook.close() + + +def vulnerability_xlsx2(vlist): + workbook = xlsxwriter.Workbook('vulnerabilities_data2.xlsx') + worksheet = workbook.add_worksheet() + + column0_names = ['新闻标题', '发布时间', '新闻内容', '参考链接'] + for i in range(len(column0_names)): + worksheet.write(0, i, column0_names[i]) + for i in range(len(vlist)): + for j in range(len(column0_names)): + worksheet.write(i + 1, j, vlist[i][column0_names[j]] if column0_names[j] in vlist[i].keys() else '') + + workbook.close() + + +def spider(flag): + if flag == 1: + spider1() + elif flag == 2: + spider2() + + +def spider1(): + vlist = [] + cnvd = CNVD() + max_page = 10 + max = 100 + content_generator = cnvd.get_list_page(max_page, max, 1) + tmp = [] + for content in content_generator: + href_list = cnvd.parse_list_page(content) + for href in href_list: + link_list.append(href) + item = cnvd.get_detail_info(href, 1) + vlist.append(item) + vulnerability_xlsx1(vlist) + + +def spider2(): + vlist = [] + cnvd = CNVD() + max_page = 1 + max = 10 + content_generator = cnvd.get_list_page(max_page, max, 2) + for content in content_generator: + href_list = cnvd.parse_list_page(content) + for href in href_list: + item = cnvd.get_detail_info(href, 2) + vlist.append(item) + vulnerability_xlsx2(vlist) + + +def check_new(): + cnvd = CNVD() + max_page = 10 + max = 100 + content_generator = cnvd.get_list_page(max_page, max, 1) + for content in content_generator: + href_list = cnvd.parse_list_page(content) + # print(href_list) + if href_list[0] not in link_list: + return True + else: + return False + +def pachon(): + setCookie('https://www.cnvd.org.cn/common/myCodeNew') + login('lijieshi18@163.com', 'ig-srd8C24jPMgk') + threads = [] + # 创建新线程 + thread1 = myThread(1, "Thread-1", 1, 1) + thread2 = myThread(2, "Thread-2", 2, 2) + # 开启新线程 + thread1.start() + thread2.start() + # 添加线程到线程列表 + threads.append(thread1) + threads.append(thread2) + # 等待所有线程完成 + for t in threads: + t.join() + while 1: + time.sleep(3600) + if check_new(): + thread1 = myThread(1, "Thread-1", 1, 1) + thread2 = myThread(2, "Thread-2", 2, 2) + thread1.start() + thread2.start() + threads.append(thread1) + for t in threads: + t.join() + + +class One_Thread(QThread): + """ + 多线程应用:开启多线程,在主界面调用线程开启主界面的函数,放卡死 + """ + signal = QtCore.pyqtSignal(str) # str int 都可以 + + # *args:列表参数**kwargs:字典参数 + def __init__(self, *args, **kwargs): + super(One_Thread, self).__init__() + self.main_win = kwargs.get('main_win') # 获取主函数对象 + self.signal.connect(self.refresh) # 调用返回的数据 + + + def run(self): + + pachon() + + def refresh(self, m): + self.main_win.line_edit.setText(str(m)) + + + + +class Window1(QMainWindow, Ui_MainWindow): + def __init__(self, parent=None): + super(Window1, self).__init__(parent) + self.setupUi(self) + self.textEdit.append('>>欢迎使用本系统') + self.pushButton.clicked.connect(self.w1) + self.pushButton_2.clicked.connect(self.w2) + self.pushButton_3.clicked.connect(self.w3) + + self.pushButton_5.clicked.connect(self.setting_time) + def setting_time(self): + #设置时间 + value, ok = QInputDialog.getText(self, "输入更新时间", "时间:00:00\n\n请输入时间:", QLineEdit.Normal, "00:00") + def w1(self): + self.window1 = Window4() + self.window1.show() + + + def w2(self): + self.window2=Window2() + self.window2.show() + def w3(self): + self.window3=Window3( + ) + self.window3.show() + + +def read_excel(path): + #读取excel + datas = [] + workBook = xlrd.open_workbook(path) + sheet = workBook.sheet_by_index(0) + for i in range(sheet.nrows): + data = [] + for j in range(sheet.ncols): + data.append(sheet.cell(i,j).value) + datas.append(data) + + return datas + +def write_excel(datas,file_name): + """将数据保存在excel中""" + try: + # todo 创建excel文件 + xl = xlwt.Workbook() + # todo 添加sheet + sheet = xl.add_sheet('sheet1') + datas = datas + for i in range(0,len(datas)): + for j in range(len(datas[0])): + try: + sheet.write(i,j,str(datas[i][j])) + except Exception as e: + print(e) + else: + continue + + # todo 关闭文件 + xl.save(r'{}{}.xls'.format(file_name,str(time.strftime("%Y%m%d%H%M%S", time.localtime())))) + except Exception as e: + pass + + + +class Window2(QMainWindow, Ui_MainWindow2): + def __init__(self, parent=None): + super(Window2, self).__init__(parent) + self.setupUi(self) + self.dateEdit.setDate(QDate.currentDate()) + self.dateEdit_2.setDate(QDate.currentDate()) + self.tableWidget.setSelectionBehavior(QAbstractItemView.SelectRows) + self.tableWidget.setEditTriggers(QAbstractItemView.NoEditTriggers) # 禁止编辑 + self.tableWidget.doubleClicked.connect(self.show_one) + self.get_data() + self.pushButton.clicked.connect(self.search) + def show_one(self): + + #显示数据 + data = self.datas[self.tableWidget.selectionModel().selection().indexes()[0].row() + 1] + self.w = Window5() + self.w.get_data(data) + self.w.show() + + def get_data(self): + excel_list = [] + for a,b,c in os.walk('pythonProject'): + for i in c: + if 'data' in i or 'xl' in i: + excel_list.append(i) + + break + + self.datas = read_excel(os.path.join('pythonProject',excel_list[-1])) + + def search(self): + new_data1 = [] + title = self.datas[0] + id = self.lineEdit.text() + if id != '': + for i in self.datas[1:]: + if id in i: + new_data1.append(i) + else: + new_data1 = self.datas[1:] + date1 = self.dateEdit.date().toString(Qt.ISODate).replace('-','') + date2 = self.dateEdit_2.date().toString(Qt.ISODate).replace('-','') + new_data2 = [] + if date1 == date2: + new_data2 = new_data1 + else: + for i in new_data1: + nd = i[2].replace('-' ,'') + if nd <= date2 and nd >= date1: + new_data2.append(i) + tbale_datas = new_data2 + self.tableWidget.setColumnCount(len(title)) # 设置好列数 + self.tableWidget.setHorizontalHeaderLabels(title) + + row = len(tbale_datas) + self.tableWidget.setRowCount(row) # 设置好行数 + self.tableWidget.horizontalHeader().setSectionResizeMode(QHeaderView.Stretch) + + try: + for i in range(0,row): + for j in range(len(title)): + S = QTableWidgetItem(str(tbale_datas[i][j])) + S.setTextAlignment(Qt.AlignCenter) # 居中显示 + self.tableWidget.setItem(i, j, S) + except Exception as e: + print(e) +class Window3(QMainWindow, Ui_MainWindow3): + def __init__(self, parent=None): + super(Window3, self).__init__(parent) + self.setupUi(self) + self.dateEdit.setDate(QDate.currentDate()) + self.dateEdit_2.setDate(QDate.currentDate()) + self.dateEdit_3.setDate(QDate.currentDate()) + self.dateEdit_4.setDate(QDate.currentDate()) + + + self.pushButton_2.clicked.connect(self.search1) + self.pushButton.clicked.connect(self.search2) + self.get_datas() + def get_datas(self): + #获取数据 + self.datas = read_excel('数据.xlsx') + def search1(self): + #饼图 + date1 = self.dateEdit.date().toString(Qt.ISODate).replace('-', '') + date2 = self.dateEdit_2.date().toString(Qt.ISODate).replace('-', '') + data = {} + for i in self.datas[1:]: + if date1 != date2: + da = (i[3] + '00').replace('-', '') + if da>date2 or dadate2 or da