본문 바로가기

엔지니어/Python

parsing

728x90
반응형
import urllib, urllib2, cookielib
import re
import MySQLdb
import time

username = 'louie0'
password = 'tjrrb12'

##### Parsing data #####
cj = cookielib.CookieJar()
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj))
login_data = urllib.urlencode({'param_username' : username, 'param_password' : password})
opener.open('http://skjd30g-b.j2.co.kr:28099/cgi-bin/login.cgi', login_data)
#resp = opener.open('http://skjd30g-b.j2.co.kr:28099/cgi-bin/status_host.cgi?hostaddr=221.139.104.128/25')
resp = opener.open('http://skjd30g-b.j2.co.kr:28099/cgi-bin/status_host.cgi?param_view=99')
data = resp.read()
#print data

##### Make useful data #####
address = re.findall('\<address\>(.*\d?)\<\/address\>', data)
input_bps = re.findall('\<input_bps\>(.*\d?)\<\/input_bps\>', data)
input_pps = re.findall('\<input_pps\>(.*\d?)\<\/input_pps\>', data)
input_submit_bps = re.findall('\<input_submit_bps\>(.*\d?)\<\/input_submit_bps\>', data)
input_submit_pps = re.findall('\<input_submit_pps\>(.*\d?)\<\/input_submit_pps\>', data)
output_bps = re.findall('\<output_bps\>(.*\d?)\<\/output_bps\>', data)
output_pps = re.findall('\<output_pps\>(.*\d?)\<\/output_pps\>', data)
output_submit_bps = re.findall('\<output_submit_bps\>(.*\d?)\<\/output_submit_bps\>', data)
output_submit_pps = re.findall('\<output_submit_pps\>(.*\d?)\<\/output_submit_pps\>', data)
syn_rate = re.findall('\<syn_rate\>(.*\d?)\<\/syn_rate\>', data)
ack_rate = re.findall('\<ack_rate\>(.*\d?)\<\/ack_rate\>', data)
udp_rate = re.findall('\<udp_rate\>(.*\d?)\<\/udp_rate\>', data)
icmp_rate = re.findall('\<icmp_rate\>(.*\d?)\<\/icmp_rate\>', data)
frag_rate = re.findall('\<frag_rate\>(.*\d?)\<\/frag_rate\>', data)
nonip_rate = re.findall('\<nonip_rate\>(.*\d?)\<\/nonip_rate\>', data)
new_tcp_rate = re.findall('\<new_tcp_rate\>(.*\d?)\<\/new_tcp_rate\>', data)
new_udp_rate = re.findall('\<new_udp_rate\>(.*\d?)\<\/new_udp_rate\>', data)
tcp_conn_in = re.findall('\<tcp_conn_in\>(.*\d?)\<\/tcp_conn_in\>', data)
tcp_conn_out = re.findall('\<tcp_conn_out\>(.*\d?)\<\/tcp_conn_out\>', data)
udp_conn = re.findall('\<udp_conn\>(.*\d?)\<\/udp_conn\>', data)
icmp_conn = re.findall('\<icmp_conn\>(.*\d?)\<\/icmp_conn\>', data)
#print address[1]

##### Make current time #####
t=time.time()

##### Connect DB ######
db=MySQLdb.connect(host='222.239.225.101',user='root',passwd='wpdlxn*()890',db='sk_test')
cursor = db.cursor()

##### Insert data in DB #####
a=len(address)
i=1
for i in range(1,a):
        print address[i]
        sql = "insert into skjd30g_b(address, input_bps, input_pps, input_submit_bps, input_submit_pps, output_bps, output_pps, output_submit_bps, output_submit_pps, syn_rate, ack_rate, udp_rate, icmp_rate, frag_rate, nonip_rate, new_tcp
_rate, new_udp_rate, tcp_conn_in, tcp_conn_out, udp_conn, icmp_conn, regi_date)  values('%s','%s','%s','%s', '%s' , '%s','%s' , '%s', '%s' , '%s', '%s' , '%s', '%s' , '%s', '%s', '%s', '%s' , '%s', '%s' , '%s', '%s' ,'%d')" % (address[i]
, input_bps[i], input_pps[i], input_submit_bps[i], input_submit_pps[i], output_bps[i], output_pps[i], output_submit_pps[i], output_submit_pps[i], syn_rate[i], ack_rate[i], udp_rate[i], icmp_rate[i], frag_rate[i], nonip_rate[i], new_tcp_r
ate[i], new_udp_rate[i], tcp_conn_in[i], tcp_conn_out[i], icmp_conn[i],udp_conn[i],t)
        cursor.execute(sql)

#cursor.execute("insert into skjd30g_b(address, input_bps, input_pps, input_submit_bps, input_submit_pps, output_bps, output_pps, output_submit_bps, output_submit_pps, syn_rate, ack_rate, udp_rate, icmp_rate, frag_rate, nonip_rate, new_t
cp_rate, new_udp_rate, tcp_conn_in, tcp_conn_out, udp_conn, icmp_conn, regi_date)  values('%s','%s','%s','%s', '%s' , '%s','%s' , '%s', '%s' , '%s', '%s' , '%s', '%s' , '%s', '%s', '%s', '%s' , '%s', '%s' , '%s', '%s' ,'%d')" % (add,inbp
s,inpps,insbps,inspps,outbps,outpps,outsbps,outspps,syn,ack,udp,icmp,frag,non,ntcp,nudp,tcpin,tcpout,udpcon,icmpcon,t))
#cursor.execute("insert into skjd30g_b(address, input_bps, input_pps, input_submit_bps, input_submit_pps, output_bps, output_pps, output_submit_bps, output_submit_pps, syn_rate, ack_rate, udp_rate, icmp_rate, frag_rate, nonip_rate, new_t
cp_rate, new_udp_rate, tcp_conn_in, tcp_conn_out, udp_conn, icmp_conn, regi_date)  values('1','1','1','1', '1' , '1','1' , '1', '1' , '1', '1' , '1', '1' , '1', '1', '1', '1' , '1', '1' , '1', '1' ,'1')")

##### Commit is when you insert db not into use #####
db.commit()
cursor.close()


반응형

'엔지니어 > Python' 카테고리의 다른 글

python html 파싱  (0) 2022.10.28
Grumpy: Go running Python  (0) 2017.01.11
python source install  (0) 2016.05.26
Attack alrams  (0) 2016.05.26
pygeoip  (0) 2016.05.26