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

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

支持原创。感谢!

相关文章
|
1月前
|
数据采集 存储 JSON
Python网络爬虫:Scrapy框架的实战应用与技巧分享
【10月更文挑战第27天】本文介绍了Python网络爬虫Scrapy框架的实战应用与技巧。首先讲解了如何创建Scrapy项目、定义爬虫、处理JSON响应、设置User-Agent和代理,以及存储爬取的数据。通过具体示例,帮助读者掌握Scrapy的核心功能和使用方法,提升数据采集效率。
97 6
|
20天前
|
机器学习/深度学习 算法 数据挖掘
数据分析的 10 个最佳 Python 库
数据分析的 10 个最佳 Python 库
59 4
数据分析的 10 个最佳 Python 库
|
21天前
|
数据采集 JSON JavaScript
如何通过PHP爬虫模拟表单提交,抓取隐藏数据
本文介绍了如何使用PHP模拟表单提交并结合代理IP技术抓取京东商品的实时名称和价格,特别是在电商大促期间的数据采集需求。通过cURL发送POST请求,设置User-Agent和Cookie,使用代理IP绕过限制,解析返回数据,展示了完整代码示例。
如何通过PHP爬虫模拟表单提交,抓取隐藏数据
|
2月前
|
数据采集 存储 数据挖掘
深入探索 Python 爬虫:高级技术与实战应用
本文介绍了Python爬虫的高级技术,涵盖并发处理、反爬虫策略(如验证码识别与模拟登录)及数据存储与处理方法。通过asyncio库实现异步爬虫,提升效率;利用tesseract和requests库应对反爬措施;借助SQLAlchemy和pandas进行数据存储与分析。实战部分展示了如何爬取电商网站的商品信息及新闻网站的文章内容。提醒读者在实际应用中需遵守法律法规。
206 66
|
21天前
|
数据采集 JavaScript 网络安全
为什么PHP爬虫抓取失败?解析cURL常见错误原因
豆瓣电影评分是电影市场的重要参考,通过网络爬虫技术可以高效采集评分数据,帮助电影制作和发行方优化策略。本文介绍使用PHP cURL库和代理IP技术抓取豆瓣电影评分的方法,解决反爬机制、网络设置和数据解析等问题,提供详细代码示例和优化建议。
为什么PHP爬虫抓取失败?解析cURL常见错误原因
|
29天前
|
数据采集 前端开发 JavaScript
除了网页标题,还能用爬虫抓取哪些信息?
爬虫技术可以抓取网页上的各种信息,包括文本、图片、视频、链接、结构化数据、用户信息、价格和库存、导航菜单、CSS和JavaScript、元数据、社交媒体信息、地图和位置信息、广告信息、日历和事件信息、评论和评分、API数据等。通过Python和BeautifulSoup等工具,可以轻松实现数据抓取。但在使用爬虫时,需遵守相关法律法规,尊重网站的版权和隐私政策,合理控制请求频率,确保数据的合法性和有效性。
|
1月前
|
数据采集 Web App开发 JavaScript
爬虫策略规避:Python爬虫的浏览器自动化
爬虫策略规避:Python爬虫的浏览器自动化
|
1月前
|
数据采集 前端开发 中间件
Python网络爬虫:Scrapy框架的实战应用与技巧分享
【10月更文挑战第26天】Python是一种强大的编程语言,在数据抓取和网络爬虫领域应用广泛。Scrapy作为高效灵活的爬虫框架,为开发者提供了强大的工具集。本文通过实战案例,详细解析Scrapy框架的应用与技巧,并附上示例代码。文章介绍了Scrapy的基本概念、创建项目、编写简单爬虫、高级特性和技巧等内容。
66 4
|
2月前
|
数据采集 Python
python爬虫抓取91处理网
本人是个爬虫小萌新,看了网上教程学着做爬虫爬取91处理网www.91chuli.com,如果有什么问题请大佬们反馈,谢谢。
31 4
|
3月前
|
数据采集 存储 监控
网络爬虫的最佳实践:结合 set_time_limit() 与 setTrafficLimit() 抓取云盘数据
本文探讨了如何利用 PHP 的 `set_time_limit()` 与爬虫工具的 `setTrafficLimit()` 方法,结合多线程和代理 IP 技术,高效稳定地抓取百度云盘的公开资源。通过设置脚本执行时间和流量限制,使用多线程提高抓取效率,并通过代理 IP 防止 IP 封禁,确保长时间稳定运行。文章还提供了示例代码,展示了如何具体实现这一过程,并加入了数据分类统计功能以监控抓取效果。
73 16
网络爬虫的最佳实践:结合 set_time_limit() 与 setTrafficLimit() 抓取云盘数据