37,719
社区成员
发帖
与我相关
我的任务
分享
from urllib import urlopen
from bs4 import BeautifulSoup
import re
import MySQLdb,time,datetime
session_id_list = []
batch_username_list = []
session_status_list = []
def GetUrlContent(url):
global session_id_list,batch_username_list,session_status_list
html = urlopen(url)
bsObj = BeautifulSoup(html,"html.parser")
text_scrapy1 = bsObj.findAll("td",{"class":"boxtext6BB"})
text_scrapy2 = bsObj.findAll("td",{"class":"boxtext6bb"})
# 获取session ID数据
text_scrapy = bsObj.findAll("a",{"name":re.compile("[0-9]+")})
for abc in text_scrapy:
session_id_list.append(abc.attrs['name'].encode())
# 获取batch user数据,13:根据表中的位置,下session同
for j in range(0,len(text_scrapy1)):
try:
if j%13 == 0:
batch_username_list.append(text_scrapy1[0+j].get_text())
except IndexError:
pass
# 获取session状态数据
for k in range(0,len(text_scrapy1)):
try:
if k%13 == 0:
session_status_list.append(text_scrapy1[12+k].get_text())
except IndexError:
pass
def main():
while True:
sql2 = "TRUNCATE TABLE oncall"
try:
conn = MySQLdb.connect(host='localhost',port=3306,user='root',passwd='123456',db='status_for_oncall')
cur = conn.cursor()
cur.execute(sql2)
print "********** truncated previous data **********"
time.sleep(3)
GetUrlContent('https://perfweb.corp.ebay.com/Martini/MARTINI_Sessions.htm')
for i in range(0,len(session_id_list)):
sql1 = "insert into oncall value(%s,%s,%s)"
param = (session_id_list[i],batch_username_list[i],session_status_list[i])
cur.execute(sql1,param)
print "********** finish saving data **********"
time.sleep(60)
conn.commit()
cur.close()
conn.close()
except Exception,e:
print datetime.datetime.now(),Exception,":",e
cur.execute(sql2)
conn.commit()
cur.close()
conn.close()
if __name__ == "__main__":
main()
time.sleep(60)
conn.commit()
cur.close()
conn.close()
修改成这样
conn.commit()
cur.close()
conn.close()
time.sleep(60)