作者|丁彦军

来源|恋习Python

前两天,在网上看到一个有意思的问题:彩票预测靠谱么?为什么还有那么多的人相信彩票预测?

暂且不说,彩票预测是否靠谱?彩票预测也分人而异,江湖上骗术很多,有些甚至会误以为彩票预测的准确度可以很高,这些操盘手法,让不知原理的彩民心甘情愿地掏钱买料。

在彩票预测上,也有正儿八经去研究“规律” 的,不外乎三个“派别”:数据派、图形派、公式派。还有一派不列入:字谜字画派,可纳入蛇精病行列。

究竟哪一派预测的靠谱准确呢?不懂,因为我几乎不买彩票(买也是玩玩,娱乐娱乐),也不去研究。但不管哪一派总得有数据可研究,今天我只负责帮大家如何获取3D彩票自创办以来,所有的数据(中奖号码、中奖注数、销售额以及返奖比例等)

在爬取一些简单的(没有反爬机制的)静态网页时,一般采取的策略是:选中目标(所谓的url链接),观察结构(链接结构,网页结构),构思动手(选用什么HTML下载器,解析器等)。在爬虫过程中,都会涉及到三种利器

HTML下载器:下载HTML网页

HTML解析器:解析出有效数据

数据存储器:将有效数据通过文件或者数据库的形式存储起来

今天,我们将利用requests库BeautifulSoup模块来抓取中彩网页福彩3D相关的信息,并将其保存到Excel表格中。

在开始前,先分析看看目标网页的结构:

可以发现,目标网页的URL

http://kaijiang.zhcw.com/zhcw/html/3d/list_2.html,

每次变化一处:list_x后面的数字,其代表第几页。

然后,观察其网页结构,也很简单,可以看到一期的彩票信息对应的源代码是一个tr节点,我们可以用BeautifulSoup库来提取这里面的一些信息。

整体思路是:若要获取福彩3D创办14年以来所有的信息(一共246页),只需要分开请求246次,这样获取不同的页面之后,再利用BeautifulSoup库提取到相关信息,利用xlrd库将数据写入Excel中,就可以获取到福彩3D所有的信息,结果如下图:

(一共将近5000条数据)

详情代码如下:

import requests

from bs4 import BeautifulSoup

import xlwt

import time

#获取第一页的内容

def get_one_page(url):

headers = {

'User-Agent':'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.140 Safari/537.36'

}

response = requests.get(url,headers=headers)

if response.status_code == 200:

return response.text

return None

#解析第一页内容,数据结构化

def parse_one_page(html):

soup = BeautifulSoup(html,'lxml')

i = 0

for item in soup.select('tr')[2:-1]:

yield{

'time':item.select('td')[i].text,

'issue':item.select('td')[i+1].text,

'digits':item.select('td em')[0].text,

'ten_digits':item.select('td em')[1].text,

'hundred_digits':item.select('td em')[2].text,

'single_selection':item.select('td')[i+3].text,

'group_selection_3':item.select('td')[i+4].text,

'group_selection_6':item.select('td')[i+5].text,

'sales':item.select('td')[i+6].text,

'return_rates':item.select('td')[i+7].text

}

#将数据写入Excel表格中

def write_to_excel():

f = xlwt.Workbook()

sheet1 = f.add_sheet('3D',cell_overwrite_ok=True)

row0 = ["开奖日期","期号","个位数","十位数","百位数","单数","组选3","组选6","销售额","返奖比例"]

#写入第一行

for j in range(0,len(row0)):

sheet1.write(0,j,row0[j])

#依次爬取每一页内容的每一期信息,并将其依次写入Excel

i=0

for k in range(1,247):

url = 'http://kaijiang.zhcw.com/zhcw/html/3d/list_%s.html' %(str(k))

html = get_one_page(url)

print('正在保存第%d页。'%k)

#写入每一期的信息

for item in parse_one_page(html):

sheet1.write(i+1,0,item['time'])

sheet1.write(i+1,1,item['issue'])

sheet1.write(i+1,2,item['digits'])

sheet1.write(i+1,3,item['ten_digits'])

sheet1.write(i+1,4,item['hundred_digits'])

sheet1.write(i+1,5,item['single_selection'])

sheet1.write(i+1,6,item['group_selection_3'])

sheet1.write(i+1,7,item['group_selection_6'])

sheet1.write(i+1,8,item['sales'])

sheet1.write(i+1,9,item['return_rates'])

i+=1

f.save('3D.xls')

def main():

write_to_excel()

if __name__ == '__main__':

main()

到此,关于14年的福彩3D信息都可以爬取下来,至于如何预测?下一期的彩票趋势如何?不懂也不会,接下来是否中奖,就靠你们了。彩民们,我只能帮你们到这了!

最后结尾,关于彩票预测究竟准不准?我不说太多的理论分析,我只提出两个问题:

命题1:以双色球为例,下一期双色球号码,1,2,3,4,5,6,7 和 3,4,8,11,22,29,7 这两组号码的中奖概率如何?谁高谁低还是都一样?

命题2:第二个问题更简单。假设你已经投了9次硬币,结果都是正面。现在你要投第10次,请问是正面的概率是多少?

如果你还要问我,彩票有规律可循吗?在我看来,彩票规律就是没有规律(不信,你去分析分析14年以来的所有数据),以人类的计算水平,即使有的话也计算不出来的。彩票是娱乐,是一个运气的游戏,一个人即使在彩票上赚到了钱,运气好,也不代表使用的方法就可以提高彩票中奖率。任何打着提高中奖率的期号进行的盈利行为,即使出发点是善意的,也会最终走向错误。

xx的彩票(尤其是黑彩)的实质,就是虚构一个不劳而获的人,去忽悠一群想不劳而获的人,最终养活一批真正不劳而获的人。犹如币圈一个bi样!

数据与算法之美

用数据解决不可能

长按扫码关注

我用Python爬取了14年所有的福彩3D信息,彩民们,只能帮你们到这了相关推荐

  1. 用 Python 爬取了 14 年的福彩 3D 信息!彩民们,只能帮你们到这了

    前两天,在网上看到一个有意思的问题:彩票预测靠谱么?为什么还有那么多的人相信彩票预测? 暂且不说,彩票预测是否靠谱?彩票预测也分人而异,江湖上骗术很多,有些甚至会误以为彩票预测的准确度可以很高,这些操 ...

  2. python爬虫能秒杀么_面试题之用python爬取并夕夕不同时段秒杀商品信息

    先上效果图吧(因为确实也是刚入门,很多细节没有注意到的,各位尽管提出来) 并夕夕很多时候都在不停的有秒杀商品的活动,对于价格问题,我就没法讨论了,但是人家能吸引到这么多流量,真本事还是有些的. 我只在 ...

  3. python 抓包秒杀_面试题之用python爬取并夕夕不同时段秒杀商品信息

    先上效果图吧(因为确实也是刚入门,很多细节没有注意到的,各位尽管提出来) 并夕夕很多时候都在不停的有秒杀商品的活动,对于价格问题,我就没法讨论了,但是人家能吸引到这么多流量,真本事还是有些的. 我只在 ...

  4. python爬取携程网旅游_爬虫之携程网旅游信息爬取

    最近手又有点闲,闲着无聊就爬取了携程的信息,这个爬虫是我随手写的,各位可以看看. # -*- encoding=utf-8 -*- #爬取携程旅游信息 #2017/8/14 from bs4 impo ...

  5. Python爬取某旅游网站中的中国城市信息

    分析 这是目标网址 可以发现它是通过点击下一页来翻页的,所以可以大概率判断它每一页的链接是有规律的,我们找出它的前两页的链接: https://place.qyer.com/china/citylis ...

  6. python爬取大学生就业分析专科和本科的信息https://edu.jobui.com/major/(上)JSON的存储

    一,爬虫步骤 1.导入模块json,requests,lxml 2.url地址 3,请求头 4.get请求 200正常访问 5.解码 6.找到节点 7.创建一个存储所有信息的列表 8.循环遍历li节点 ...

  7. Python爬取哔哩哔哩视频的相关信息后续

    上一篇文章通过selenium工具自动搜索爬取哔哩哔哩上面的视频相关信息,今天我们接着上一篇文章,保存视频的图片到本地. 首先找到要爬取的网页数据所在的位置,如下图 并且,右键点击该网址,可以选择在新 ...

  8. 用python爬取豆瓣《教父》影评等信息

    **注,小白,纯属当笔记,有错请指点,谢谢. 本文采用requests库爬取HTML页面,然后用BeautifulSoup库解析网页,再通过re库进行匹配 1.简单介绍一下requests库 #req ...

  9. Python爬取自如北京2.3万条租房信息,发现快租不起房子了

    文章目录 1.概述 2.数据采集-爬虫 2.1.房屋信息解析 2.2.房屋价格解析 3.数据处理-清洗 3.1.房屋名称数据清洗 3.2.房间信息数据清洗 3.3.位置信息数据清洗 3.4.选取需要用 ...

最新文章

  1. 《信息学奥赛一本通》 高精度乘法。输入两个正整数,求它们的积。
  2. SpringBoot+Mybatis 框架之 @SelectProvider注解方式搭建
  3. 实现DDD领域驱动设计: Part 2
  4. Objective-C中的associated object释放时机问题
  5. HDU 1011 Starship Troopers 树形+背包dp
  6. 二维动态规划降维误差一般为多少_动态规划--5道题入门
  7. html div图片定位,html中div定位练习
  8. 如何将图例排除在情节之外
  9. Java实现Map集合二级联动
  10. iconfont阿里巴巴矢量图标库使用步骤
  11. 超级APP势不可挡--20190706
  12. ffmpeg gl-transitions 图片合成视频 转场特效
  13. html抓取cpu温度,一种获取CPU温度的测试方法、系统及计算机存储介质与流程
  14. 网吧客户信息查询c语言,网吧经营管理之客户定位
  15. Profile多环境支持
  16. 前后端分离之使用Files进行文件图片上传和下载
  17. WorkNC3D沿面精加工快速修圆小技巧
  18. 领英LinkedIn的个人商务会员和企业销售会员我们应该怎么选?
  19. java path 注解_Java内置系统注解和元注解
  20. Unity序列帧动画疑难解答

热门文章

  1. .NET Core 仿魔兽世界密保卡实现
  2. 现身说法:实际业务出发分析百亿数据量下的多表查询优化
  3. .NET Core 3.0 linux 部署小贴士
  4. IIS作为ASP.NET Core2.1 反向代理服务器未说的秘密
  5. ASP.NET Core中借助CSRedis实现安全高效的分布式锁
  6. ASP.NET Core 搭配 Nginx 的真实IP问题
  7. DevOps文档中心的技术实践演进
  8. .net core 2.0学习笔记(二):Hello World amp;amp; 进阶
  9. [翻译]编写高性能 .NET 代码 第一章:性能测试与工具 -- 选择什么来衡量
  10. 《微软开源跨平台移动开发实践》团购通知