python爬取雙色球每期中獎號碼(原創)

#-*—coding:utf8-*-
import re
import requests
import mysql.connector
import sys
reload(sys)
sys.setdefaultencoding("utf-8")

url1= "http://kaijiang.500.com/shtml/ssq/"
url2=".shtml?0_ala_baidu"
print "數據庫開始連接"
conn=mysql.connector.connect(host='127.0.0.1',
                                   user='root',
                                   passwd='123456',
                                   db='test')
cursor = conn.cursor()
print "數據庫已經連接"
num=0
for j in range (3000,19000,1000):
    for i in range(j+1,j+1000,1):
        url=url1+bytes(i)+url2
        # print url
        html = requests.get(url)
        # print html.text
        title = re.findall('<li class="ball_red">(.*?)</li>', html.text, re.S)
        # print "第",i,"期"
        # print "紅球是:"
        for each in title:
            print each,
        title1 = re.findall('<li class="ball_blue">(.*?)</li>', html.text, re.S)
        # print "籃球是:",
        # for each in title1:
        #     print each

        insert_ssq = ("INSERT INTO ssq(rq ,hq1,hq2,hq3,hq4,hq5,hq6,lq) VALUES(%s,%s,%s,%s,%s,%s,%s,%s)")
        data_ssq = None
        if len(title)<6:
            print   "第",i,"條數據開始插入失敗"
            break
        data_ssq = [(i,title[0], title[1], title[2],title[3],title[4],title[5],title1[0])]
        # cursor.execute(insert_ssq, data_ssq)
        # num += 1
        # conn.commit()
        try:
            cursor.executemany(insert_ssq, data_ssq)
            num+=1
            conn.commit()
            print "成功插入第",i,"期"
        except:
            conn.rollback()
            print "第",i,"期,插入失敗"
# 使用execute方法執行SQL語句
# cursor.execute('select * from student where 1=1')  # 表查詢

# 使用 fetchone() 方法獲取一條數據庫。
# values = cursor.fetchall()

# print(values)

# 關閉數據庫連接
print "關閉數據庫連接"
print "插入了",num,"條數據"
cursor.close()

剛學習python,這個蠻有趣。

本人不研究彩票,只是別人所託。。。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章