靜態網頁內容爬取(python)

2021-09-25 06:51:41 字數 2716 閱讀 5931

以**漏洞掃瞄為例:

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...