Python爬虫系列8-抓取快乐8、刮刮乐、双色球等中奖数据分析规律

简介: 人在绝大多数情况下,只要稍微有那么一点的退路,有那么一点余地,就可以成为逃避的借口和理由。努力装装样子,然后给自己一个台阶下,安慰自己说,“你看我已经很努力了,还是不行,那就算了吧”。老话说得好:只有主动追求的东西才能到手;只要你想做,全世界都会帮你;只要你不想做,一只蚊子都能拦住你。虽说未来可期,但如果你连相信自己的勇气都没有,还有什么资格得到更好的呢。对吧!

-实战

这几天看到身边的朋友在玩儿股票;顺便查了查彩票的官网及操作步骤;看到那些以往的中奖号码; 脑海中突然有个新的想法;如果我把中奖的号码全部都抓取下来;在通过数据分析进行可视化;分析那些出现频率高的中奖数字。会不会有奇效呢!想的再多 不如尝试一下。

目标网站

image.png

快乐8 彩球数据

这些都是中奖的号码;大家可以登录该网站查看。
image.png

双色球 数据

image.png

大乐透 数据

image.png

我们发现这个网站每张彩票的流程,基本上都差不多。通过 Chrome 浏览器右键检查查看 network 并对网站结构进行分析;大致上浏览了一下;数据的布局方式也一样,那就...... 挑兵挑将~ 随便挑一个😁

爬虫三部曲这里就不过多描述了; 不知道的同学可以看我之前写的文章。
为了使代码更加方便大家阅读 我将其业务逻辑用简单的函数封装起来,分为2步;看代码。。。

# 第一步:抓取中彩网数据
def requests_data():
   pass
# 第二步: 处理数据 并存储
def save_data(tony_dict):
  pass

if __name__ == '__main__':
  tony_dict=requests_data()
  save_data(tony_dict)

这样看起来是不是就简单明了。 不管三七二十一;首先我们先把数据给抓取下来 ~看法宝😎

import requests

# 第一步:抓取中彩网数据
def requests_data(index):
  cookies = {
        'Hm_lvt_12e4883fd1649d006e3ae22a39f97330': '1606980',
        '_ga': 'GA1.2.1535259899.1606980613',
        'PHPSESSID': 'ko9acne5fc09ag34tauema9dk5',
        'Hm_lvt_692bd5f9c07d3ebd0063062fb0d7622f': '1606980',
        'Hm_lpvt_692bd5f9c07d3ebd0063062fb0d7622f': '1606980',
        '_gid': 'GA1.2.702530936.16077449',
        'Hm_lpvt_12e4883fd1649d006e3ae22a39f97330': '1607745',
    }

    headers = {
        'Connection': 'keep-alive',
        'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.117 Safari/537.36',
        'Accept': '*/*',
        'Sec-Fetch-Site': 'same-site',
        'Sec-Fetch-Mode': 'no-cors',
        'Referer': 'https://www.zhcw.com/kjxx/3d/',
        'Accept-Encoding': 'gzip, deflate, br',
        'Accept-Language': 'zh-CN,zh;q=0.9',
    }

    params = (
        ('callback', 'jQuery1122035713028555611515_1607745050216'),
        ('transactionType', '10001001'),
        ('lotteryId', '2'),
        ('issueCount', '100'),
        ('startIssue', ''),
        ('endIssue', ''),
        ('startDate', ''),
        ('endDate', ''),
        ('type', '0'),
        ('pageNum', index),
        ('pageSize', '30'),
        ('tt', '0.7235300526774737'),
        ('_', '1607745050225'),
    )
    # 获取服务器返回数据 
    response = requests.get('https://jc.zhcw.com/port/client_json.php', headers=headers, params=params, cookies=cookies).content.decode('utf-8')
    print(response)
   
if __name__ == '__main__':
    for index in range(1, 10):
        tony_dict=requests_data(index)
        save_data(tony_dict)

image.png

运行程序的时候;就能够获取返回的数据内容了 ! 接下来就到了爬虫中最关键的一步;数据解析~ 首先先把需要的内容提取出来,这里埋一个小坑,大家尝试着试一下如何提取这个元素😁动动手~
我们在提取数据的时候也需要考虑这个数据应该通过什么样的存储方式进行保存。 这里我用的是 excel表格。

import xlwt

wb = xlwt.Workbook()
sheet= wb.add_sheet('福彩3D')

# 存储表头文件
row=["期号","开奖日期","开奖号码","总销售额(元)","直选(注数)","直选(单注奖金(元))",'组三(注数)','组三(单注奖金(元)','组六(注数)','组六(单注奖金(元)']

# 写入表头
for i in range(0,len(row)):
    sheet.write(0,i,row[i])

# 保存
wb.save("福彩3D_版本2.xls")

image.png

当表头数据存储至excel之后 ;准备工作就已经OK了 ;接下来可以放心的做数据解析了 ;只需要将解析的数据添加到excel表格中就可以了。

i=1
# 第二步: 处理数据 并 存储
def save_data(tony_dict):
    global i
    for item in tony_dict:
        sheet.write(i, 0, item['issue'])
        sheet.write(i, 1, item['openTime'])
        sheet.write(i, 2, item['frontWinningNum'])
        sheet.write(i, 3, item['saleMoney'])
        wd=item['winnerDetails']
        print(wd)
i+=1

image.png

这样就把获取到的4个数据添加到excel表格了;后续其他的数据按照这种方式依次添加就行。大家可以锻炼一下!
image.png

如果本文对你学习有所帮助-可以点赞👍+ 关注!将持续更新更多新的文章。

支持原创。感谢!

相关文章
|
8天前
|
数据采集 存储 JSON
Python网络爬虫:Scrapy框架的实战应用与技巧分享
【10月更文挑战第27天】本文介绍了Python网络爬虫Scrapy框架的实战应用与技巧。首先讲解了如何创建Scrapy项目、定义爬虫、处理JSON响应、设置User-Agent和代理,以及存储爬取的数据。通过具体示例,帮助读者掌握Scrapy的核心功能和使用方法,提升数据采集效率。
46 6
|
1天前
|
数据采集 Web App开发 监控
高效爬取B站评论:Python爬虫的最佳实践
高效爬取B站评论:Python爬虫的最佳实践
|
2天前
|
数据采集 存储 JSON
Python爬虫开发中的分析与方案制定
Python爬虫开发中的分析与方案制定
|
7天前
|
数据采集 JSON 测试技术
Python爬虫神器requests库的使用
在现代编程中,网络请求是必不可少的部分。本文详细介绍 Python 的 requests 库,一个功能强大且易用的 HTTP 请求库。内容涵盖安装、基本功能(如发送 GET 和 POST 请求、设置请求头、处理响应)、高级功能(如会话管理和文件上传)以及实际应用场景。通过本文,你将全面掌握 requests 库的使用方法。🚀🌟
28 7
|
9天前
|
数据采集 Web App开发 前端开发
Python爬虫进阶:Selenium在动态网页抓取中的实战
【10月更文挑战第26天】动态网页抓取是网络爬虫的难点,因为数据通常通过JavaScript异步加载。Selenium通过模拟浏览器行为,可以加载和执行JavaScript,从而获取动态网页的完整内容。本文通过实战案例,介绍如何使用Selenium在Python中抓取动态网页。首先安装Selenium库和浏览器驱动,然后通过示例代码展示如何抓取英国国家美术馆的图片信息。
30 6
|
6天前
|
数据采集 Web App开发 JavaScript
爬虫策略规避:Python爬虫的浏览器自动化
爬虫策略规避:Python爬虫的浏览器自动化
|
6天前
|
数据采集 存储 XML
Python实现网络爬虫自动化:从基础到实践
本文将介绍如何使用Python编写网络爬虫,从最基础的请求与解析,到自动化爬取并处理复杂数据。我们将通过实例展示如何抓取网页内容、解析数据、处理图片文件等常用爬虫任务。
|
9天前
|
数据采集 前端开发 中间件
Python网络爬虫:Scrapy框架的实战应用与技巧分享
【10月更文挑战第26天】Python是一种强大的编程语言,在数据抓取和网络爬虫领域应用广泛。Scrapy作为高效灵活的爬虫框架,为开发者提供了强大的工具集。本文通过实战案例,详细解析Scrapy框架的应用与技巧,并附上示例代码。文章介绍了Scrapy的基本概念、创建项目、编写简单爬虫、高级特性和技巧等内容。
32 4
|
8天前
|
数据采集 Web App开发 iOS开发
如何利用 Python 的爬虫技术获取淘宝天猫商品的价格信息?
本文介绍了使用 Python 爬虫技术获取淘宝天猫商品价格信息的两种方法。方法一使用 Selenium 模拟浏览器操作,通过定位页面元素获取价格;方法二使用 Requests 和正则表达式直接请求页面内容并提取价格。每种方法都有详细步骤和代码示例,但需注意反爬措施和法律法规。
|
9天前
|
数据采集 存储 Web App开发
利用Python 的爬虫技术淘宝天猫销量和库存
使用 Python 爬虫技术获取淘宝天猫商品销量和库存的步骤包括:1. 安装 Python 和相关库(如 selenium、pandas),下载浏览器驱动;2. 使用 selenium 登录淘宝或天猫;3. 访问商品页面,分析网页结构,提取销量和库存信息;4. 处理和存储数据。注意网页结构可能变化,需遵守法律法规。