증분 파이썬 파충류

수입 pymysql 


데프 insert_db (db_table, 문제 time_str, num_code) :
호스트 = '127.0.0.1'
사용자 = '루트'
암호 = '루트'
포트 = (3306)
dB = '복권'
data_base = pymysql.connect (호스트 = 호스트, 사용자 = 사용자, 암호 = 암호, 포트 = 포트, DB = DB)
커서 = data_base.cursor ()
시도 :
SQL = "INSERT INTO % s을 VALUES ( '% S', '% S', '% S')"% (db_table, 문제 time_str, num_code)
cursor.execute (SQL)
data_base.commit ()
ValueError를 전자로 제외 :
인쇄 (전자)
data_base.rollback ()
마지막 :
cursor.close ()
data_base.close ()를
데프 select_db (문제 db_table) :
호스트 = '127.0.0.1'
사용자 = '루트'
암호 = '루트'
포트 = (3306)
dB = '복권'
data_base = pymysql.connect (호스트 = 호스트, 사용자 = 사용자, 암호 = 암호, 포트 = 포트, DB = DB )
커서 = data_base.cursor ()
시도 :
SQL = % (문제 db_table) "% s의 '% s'이 (가) SELECT"
cursor.execute (SQL)
data_base.commit ()를
ValueError를 제외하고는 전자로 :
인쇄 (전자)
data_base을. 롤백 ()
마지막 :
반환 문제
#接下来是主要代码
# 테스트.PY :
# BS4 웹 분석에 사용
을 # 구현 증분 중량
타이밍 크롤링 달성 #
오기 날짜
오기 시간
BeautifulSoup로 BS4로부터 가져
가져 오기 요청
되는 mysql_config 수입 insert_db에서
되는 mysql_config 수입 select_db에서
: DEF my_test ()
db_table = 'lottery_table'
URL = 'http://kj.13322.com/kl10_dkl10_history_dtoday.html'
고해상도 = requests.get (URL)
내용 = res.content
스프 = BeautifulSoup로 (콘텐츠 'html.parser'= 'UTF8'를 from_encoding)
C_T soup.select = ( '#의 trend_table') [0]
TRS c_t.contents = [4]
TRS에 대한 TR :
TR 경우 == '\ n'
계속
TDS tr.select = ( 'TD')
문제 TDS = [1]는 .text
time_str TDS = [0]는 .text
num_code tr.table.text.replace = ( '\ N0', ',' ).( ',', '\ n') 대체. 스트립 ( '')
인쇄 ( '期号: %의 \ t时间: %의 \ t号码%의'% (STR (문제), STR (time_str), STR (num_code)))
issue_db = select_db (문제 db_table는)
시도 :
경우 issue_db == 문제 :
insert_db (db_table, issue_db, time_str, num_code)
인쇄 ( '添加%의到%의成功'% (issue_db, db_table))
전자와 같은 예외를 제외하고 :
인쇄 ( '! %의已经存在'%의 issue_db)
인쇄 (E)


의 경우 __name__ == '__main__'
플래그 = 0
이제 datetime.datetime.now = ()
sched_time = datetime.datetime (now.year, now.month, now.day, now.hour, now.minute, now.second) + \
datetime.timedelta (초 = 3)
진정한 동안 :
지금 datetime.datetime.now = ()
경우 sched_time <지금 :
time.sleep (3)
인쇄 (현재)
my_test ()
플래그 = 1
다른 :
만약 플래그 == 1
sched_time = sched_time + datetime.timedelta (분 = 2)
플래그 = 0

추천

출처www.cnblogs.com/duanlinxiao/p/11997595.html