前言
本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理。
PS:如有需要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()