前言

本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理。

PS:如有需要Python学习资料的小伙伴可以加点击下方链接自行获取

python免费学习资料以及群交流解答点击即可加入


确定URL 请求网页

http://www.cwl.gov.cn/cwl_admin/kjxx/findDrawNotice?name=ssq&issueCount=100

在这里插入图片描述

在这里插入图片描述

import requests

url = 'http://www.cwl.gov.cn/cwl_admin/kjxx/findDrawNotice?name=ssq&issueCount=100'
headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36'
}
response = requests.get(url=url, headers=headers)
print(response)

'''
运行结果:
<Response [200]>
'''
print(reponse.text)
'''
发现并没有数据返回,所有headers的参数改加的都要加
'''
headers = {
    'Host': 'www.cwl.gov.cn',
    'Referer': 'http://www.cwl.gov.cn/kjxx/ssq/kjgg/',
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36'
}

在这里插入图片描述

解析数据

解析json数据就和剥洋葱一样,根据字典的取值方法来,非常的简单

result = html_data['result']
dit = {}
for i in result:
    dit['期号'] = i['code']
    dit['开奖日期'] = i['date']
    dit['红球'] = i['red']
    dit['蓝球'] = i['blue']
    dit['中奖纪录'] = i['content']
    print(dit)
'''
运行结果:
{'期号': '2019142', '开奖日期': '2019-12-10(二)', '红球': '08,14,24,27,29,33', '蓝球': '09', '中奖纪录': '河北1注,江苏1注,浙江1注,福建5注,广西1注,新疆5注,共14注。其中一等奖特别奖为:河北1注,江苏1注,福建5注,广西1注,新疆5注;一等奖普惠奖为:浙江1注。'}
'''

数据保存

咱们把要的数据保存到csv文件里面,方便做数据分析

import csv
f = open('双色球.csv', mode='a', encoding='utf-8', newline='')
csv_write = csv.DictWriter(f, fieldnames=['期号', '开奖日期', '红球', '蓝球', '中奖纪录'])
csv_write.writeheader()  # 写入表头
csv_write.writerow()

在这里插入图片描述


本文转载:CSDN博客