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

栏目: Python · 发布时间: 5年前

内容简介:前两天,在网上看到一个有意思的问题:彩票预测靠谱么?为什么还有那么多的人相信彩票预测?暂且不说,彩票预测是否靠谱?彩票预测也分人而异,江湖上骗术很多,有些甚至会误以为彩票预测的准确度可以很高,这些操盘手法,让不知原理的彩民心甘情愿地掏钱买料。

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

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

我用 <a href='https://www.codercto.com/topics/20097.html'>Python</a> 爬取了14年所有的福彩3D信息,彩民们,只能帮你们到这了

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

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

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

HTML下载器:下载HTML网页

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

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

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

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

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

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

可以发现,目标网页的URL

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

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

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

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

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

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

我用Python爬取了14年所有的福彩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年以来的所有数据),以人类的计算水平,即使有的话也计算不出来的。彩票是娱乐,是一个运气的游戏,一个人即使在彩票上赚到了钱,运气好,也不代表使用的方法就可以提高彩票中奖率。任何打着提高中奖率的期号进行的盈利行为,即使出发点是善意的,也会最终走向错误。


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Algorithms + Data Structures = Programs

Algorithms + Data Structures = Programs

Niklaus Wirth / Prentice Hall / 1975-11-11 / GBP 84.95

It might seem completely dated with all its examples written in the now outmoded Pascal programming language (well, unless you are one of those Delphi zealot trying to resist to the Java/.NET dominanc......一起来看看 《Algorithms + Data Structures = Programs》 这本书的介绍吧!

随机密码生成器
随机密码生成器

多种字符组合密码

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具