以**漏洞掃瞄為例:
from bs4 import beautifulsoup
from urllib.request import urlopen
import pymysql as mysqldb
import re
import os
#插入資料
def insertdata(lis):
cursor = conn.cursor()
try:
insertsql = 『insert into ***(base,dev_ip,dev_os,sys_version,plug_version,scan_start,scan_end,bug_name,bug_describe,bug_solution,bug_score,bug_dplug,bug_founddate,bug_cve) values(%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s)』
cursor.execute(insertsql,(lis[0],lis[1],lis[2],lis[3],lis[4],lis[5],lis[6],lis[7],lis[8],lis[9],lis[10],lis[11],lis[12],lis[13]))
print(』--------------------------』)
except exception as e:
print(e)
conn.commit()
cursor.close()
#-----------獲取buglist-------------
def getbugname(bugdetillist):
bugnamelisth = bugdetillist.select(『span[class = 「level_danger_high」]』)
bugnamelistm = bugdetillist.select(『span[class = 「level_danger_middle」]』)
bugnamelistl = bugdetillist.select(『span[class = 「level_danger_low」]』)
bugnamelist = bugnamelisth + bugnamelistm + bugnamelistl
return bugnamelist
#-----------獲取bug與詳情的字典-------------
def getbugnamedict(bugnamelist,listall):
i = 0
bugdict = dict()
for bugname in bugnamelist:
bugdict[bugname.get_text()] = listall[i]
i += 1
return bugdict
ifname== 「main」:
conn = mysqldb.connect(「資料庫連線資訊」)
#filenamelist = getfilenamelist()
iplist = getip()
p = 0
for i in iplist:
ip = 『』
os = 『』
osed = 『』
pluged = 『』
scanstart = 『』
scanend = 『』
html = urlopen(r』filename』)
soup = beautifulsoup(html, 「html.parser」)
messdetil = soup.select(『table[class = 「report_table plumb」]』)
singlemessdetil = messdetil[1]
singletopitem = singlemessdetil.select(『th』)
x = 0
for singletopmess in singletopitem:
if singletopmess.get_text() == 「ip位址」:
ip = singlemessdetil.select(『td』)[x].get_text()
elif singletopmess.get_text() == 「作業系統」:
os = singlemessdetil.select(『td』)[x].get_text()
elif singletopmess.get_text() == 「系統版本」:
osed = singlemessdetil.select(『td』)[x].get_text()
elif singletopmess.get_text() == 「外掛程式版本」:
pluged = singlemessdetil.select(『td』)[x].get_text()
elif singletopmess.get_text() == 「掃瞄起始時間」:
scanstart = singlemessdetil.select(『td』)[x].get_text()
elif singletopmess.get_text() == 「掃瞄結束時間」:
scanend = singlemessdetil.select(『td』)[x].get_text()
x += 1
getdetilmess()
p += 1
conn.close()
Python爬取網頁內容
其時序圖如圖所示。給定乙個要訪問的url,獲取這個html及內容,遍歷html中的某一類鏈結,如a標籤的href屬性,從這些鏈結中繼續訪問相應的html頁面,然後獲取這些html的固定標籤的內容,如果需要多個標籤內容,可以通過字串拼接,最後通過正規表示式刪除所有的標籤,最後將其中的內容寫入.txt檔...
python爬蟲 爬取靜態網頁
爬蟲新手剛入門,萌新練手交流作 import requests import bs4 from bs4 import beautifulsoup 偽裝瀏覽器,獲取源 def gethtml url headers 偽裝瀏覽器 response requests.get url,headers hea...
Python爬取靜態網頁操作
靜態網頁一般指純粹的html格式的網頁,對於爬蟲來說,靜態網頁的資料都比較容易獲取,利用好requests庫就能輕鬆傳送http請求,獲取到網頁的資料。requests庫可以幫助我們獲取到響應內容,再通過一些引數來滿足我們的需求,它的安裝也十分簡單,對於windows使用者來說,在已經裝好pytho...