爬取大乐透开奖结果
分类:
入门到放弃
日期: 2024-01-07 | 作者: admin
| 浏览:
224
经常刷到各种彩票中大奖的信息推送,也看到有人在求开奖号码结果集,便试着爬取了下。
期间还顺便学习了下requests、csv的入门操作。
import requests
import csv
import time
# 体育彩票官方历史开奖
url = 'https://webapi.sporttery.cn/gateway/lottery/getHistoryPageListV1.qry?gameNo=85&provinceId=0&pageSize=30&isVerify=1&pageNo='
headers = {
'authority': 'webapi.sporttery.cn',
'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.0.0 Safari/537.36 OPR/99.0.0.0'
}
# 写入csv文件
with open('lottery.csv', 'w') as f:
write = csv.writer(f)
# 表头内容
title = ['期号', '开奖日期', '开奖结果(前区)', '开奖结果(后区)', '一等奖(注数)', '基本奖金', '一等奖(追加注数)', '追加奖金', '奖池奖金']
# 写入表头
write.writerow(title)
# 循环获取各页面数据
for i in range(1, 83):
result = requests.get(url + str(i), headers=headers).json()
obj_list = result['value']['list']
for j in obj_list:
write.writerow(
[
j['lotteryDrawNum'], j['lotteryDrawTime'],
# 开奖结果返回的长度为20位,最初没注意,怎么切都不对…
j['lotteryDrawResult'][:15], j['lotteryDrawResult'][15:],
j['prizeLevelList'][0]['stakeCount'], j['prizeLevelList'][0]['stakeAmount'],
j['prizeLevelList'][1]['stakeCount'], j['prizeLevelList'][1]['stakeAmount'],
j['poolBalanceAfterdraw']
])
print('爬取第' + str(i) + '页完成')
# 慢慢爬, 怕…
time.sleep(3)
生成的表格排序是根据爬取的页面结果排序的,内容追加后有点混乱,可以直接在表格中重新排序即可。
相关文章