来唠点嗑?
咳咳,最近是咋的了,某站掀起了一股双色球热潮?一般我自己的账号上,是很少看到关于python这些内容的,都是小姐姐和热梗,或者其他搞笑视频
由于💴的吸引力…手不自觉的就点进去了,看了两分钟,emm不就是采集数据,做可视化分析吗,这我也会,至于能不能中奖,今晚下班买点看看,毕竟机会是留给有准备的人的,我准备一下午,总能分我点机会吧 ~
来来来,宝宝们,好事都是要一起分享的,咱现在就开始看看如何实现富婆富豪梦
前期准备
- 环境介绍
python 3.6
pycharm
requests >>> pip install requests
win + R 输入cmd 然后点击确定 pip install requests 回车
csv
- 代码实现过程
- 发送请求
headers请求头
cookies: 用户的信息 常用于检测是否有登录账号
host: 域名
referer: 防盗链 告诉服务器你请求的url地址 是从哪里来的(从哪里跳转过来的)
User-Agent : 浏览器的基本信息
作用: 把python代码伪装成浏览器对服务器发送请求,
服务器接收到请求,会给我们返回response响应体数据 - 获取数据
response.text 获取响应体的文本数据 (获取网页源代码)
response.json() 获取响应体的json字典数据 (动态网页)
response.content 获取响应体的二进制数据 保存 图片/视频/音频/特定格式的文件 - 解析数据
re正则表达式 / css选择器 / xpath
提取自己想要数据内容 - 保存数据
文本 / csv excel / 数据库 /
- 数据分析编辑器:
jupyter notebook
- 你需要安装 和安装模块一样的 pip install jupyter notebook
- 打开 在cmd输入 jupyter notebook
全部代码
csv以及可视化代码领取 点击即可
import requests # 数据请求 第三方模块 pip install requests
import pprint # 格式化输出的模块 内置模块
import csv # 内置模块
f = open('双色球.csv', mode='a', encoding='utf-8', newline='')
csv_writer = csv.DictWriter(f, fieldnames=['期号',
'开奖日期',
'红球',
'蓝球',
'一等奖中奖注数',
'一等奖中奖金额',
'二等奖中奖注数',
'二等奖中奖金额',
'三等奖中奖注数',
'三等奖中奖金额',
'四等奖中奖注数',
'四等奖中奖金额',
'五等奖中奖注数',
'五等奖中奖金额',
'六等奖中奖注数',
'六等奖中奖金额',
'一等奖中奖地区',
'奖池金额'])
csv_writer.writeheader() # 写入表头
for page in range(1, 7):
# 发送请求的url地址
url = 'http://***/cwl_admin/kjxx/findDrawNotice'
# 快速替换 1. 全部选中 2. ctrl + R 3. 通过正则语法进行匹配替换
params = {
'name': 'ssq',
'issueCount': '',
'issueStart': '',
'issueEnd': '',
'dayStart': '2017-10-24',
'dayEnd': '2021-08-04',
'pageNo': page,
}
headers = {
'Referer': 'http://www.cwl.gov.cn/kjxx/ssq/kjgg/',
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.131 Safari/537.36'
}
response = requests.get(url=url, params=params, headers=headers)
# <> 对象 200 请求成功 状态码
result = response.json()['result']
# 解析数据 键值对取值 根据冒号左边的内容 提取冒号右边的内容
# for 遍历
for index in result:
dit = {
'期号': index['code'],
'开奖日期': index['date'],
'红球': index['red'],
'蓝球': index['blue'],
'一等奖中奖注数': index['prizegrades'][0]['typenum'],
'一等奖中奖金额': index['prizegrades'][0]['typemoney'],
'二等奖中奖注数': index['prizegrades'][1]['typenum'],
'二等奖中奖金额': index['prizegrades'][1]['typemoney'],
'三等奖中奖注数': index['prizegrades'][2]['typenum'],
'三等奖中奖金额': index['prizegrades'][2]['typemoney'],
'四等奖中奖注数': index['prizegrades'][3]['typenum'],
'四等奖中奖金额': index['prizegrades'][3]['typemoney'],
'五等奖中奖注数': index['prizegrades'][4]['typenum'],
'五等奖中奖金额': index['prizegrades'][4]['typemoney'],
'六等奖中奖注数': index['prizegrades'][5]['typenum'],
'六等奖中奖金额': index['prizegrades'][5]['typemoney'],
'一等奖中奖地区': index['content'],
'奖池金额': index['poolmoney']
}
csv_writer.writerow(dit)
print(dit)
可视化
红球
篮球中奖号码
最后
今天的你我变富之路,分享到这就结束了
我现在满脑子就是想快点下班了
觉得文章不错的话,记得给我三连哦,最后悄悄问问你们,之前世界杯你们买的都中了吗