最近突然想研究下双色球,想用Python爬虫抓取2003-2021的双色球数据。
借鉴博客
1.《十行代码用pandas的read_html爬取中彩网双色球历年全部数据》
https://blog.csdn.net/wwivywwivy/article/details/81810067
2.《双色球网页历史数据爬取》
https://blog.csdn.net/coberup/article/details/82871660?utm_medium=distribute.pc_relevant.none-task-blog-2defaultBlogCommendFromMachineLearnPai2default-18.baidujs&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2defaultBlogCommendFromMachineLearnPai2default-18.baidujs

不知道为什么,他们的代码都调试不通,不知道是不是导入的第三方库更新导致,现将修改过的代码贴出来。

第一位的代码,确实很简单,但是数据不全,每页少两行,也行是pandas库有变更吧,标题并没有进数据表。

import pandas as pd
import csvdef get_one_page(page):url = 'http://kaijiang.zhcw.com/zhcw/html/ssq/list_%s.html' % (str(page))#tb = pd.read_html(url, skiprows=[0,1])[0] # 写的是跳过前两行,但实际并不需要跳过前两行,数据正好tb = pd.read_html(url)[0]return tb.drop(len(tb)-1) # 去掉最后一行with open(r'E:\ssq1.csv','w',encoding='utf-8-sig',newline='') as f:csv.writer(f).writerow(['开奖日期','期号', '中奖号码', '销售额(元)', '中奖注数一等奖', '中奖注数二等奖', '详细'])for i in range(1,137):  #目前137页数据get_one_page(i).to_csv(r'E:\ssq1.csv', mode='a', encoding='utf_8_sig', header=0, index=0)print('第'+str(i)+'页抓取完成')

第二位的代码,将六个红球分别存储,但是总报错,查了下,结果集是DataFrame,有专门的操作方法。

import pandas as pd
import csvdef get_one_page(page):url = 'http://kaijiang.zhcw.com/zhcw/html/ssq/list_%s.html' % (str(page))#tb = pd.read_html(url, skiprows=[0, 1])[0]  # 跳过前两行 (去除前两行开奖日期   期号  中奖号码    销售额(元)  等信息,后面自己定义标题) 和之前的同理,标题并不在数据中tb = pd.read_html(url)[0]return tb.drop([len(tb)-1])  # len(tb)是抓取的网页行数,去掉最后一行(去掉最后一行共136 页 /2719条记录 首页 上一页 下一页 末页 当前第 1 页等信息)with open(r'E:\ssq.csv', 'w', encoding='utf-8-sig', newline='') as csvFile:  #此行注意缩进,不是def定义中的代码#打开文件的方法csv.writer(csvFile).writerow(['开奖日期', '期号', '红1',  '红2', '红3', '红4', '红5', '红6', '蓝球','销售额(元)', '中奖注数一等奖', '中奖注数二等奖'])  #给csv文件中插入一行#第二种方法,逐个写入数据
for i in range(1,137):  # range(其实编号,总共)目前136页数据reader=get_one_page(i)  #接收到第i页所有数据#print(reader[2][1])   #第二列第一行length=len(reader)  #获取该页数据的行数for j in range(0,length):col1=reader.loc[j][0] #每一行第一列开奖日期给数据col1,后面存放到新的数据表中 之前这里报错,reader是DataFrame数据,操作要用loc,且之前行列写反了col2=reader.loc[j][1]  #该行第二列开奖期号数据给col2col=list(filter(None,reader.loc[j][2].split(" ")))  #将第三个存有号码的单元格进行拆分col3=col[0]  #第一个红球col4=col[1]  #第二个红球col5 = col[2]col6 = col[3]col7 = col[4]col8 = col[5]  #蓝球col9 = col[6]  # 蓝球col10 = reader.loc[j][3]  #销售额col11 = reader.loc[j][4]  #一等奖中奖注数col12 = reader.loc[j][5]  #二等奖中奖注数with open(r'E:\ssq.csv', 'a', encoding='utf-8-sig', newline='') as csvFile:csv.writer(csvFile).writerow([col1,col2,col3,col4,col5,col6,col7,col8,col9,col10,col11,col12])  # 给csv文件中插入一行 之前忘加最后一个col12 print('第' + str(i) + '页抓取完成')

最后数据搞到了,可以研究研这双色球的概率问题了。

3.用Python爬虫,2003-2021的双色球数据相关推荐

  1. python爬网页数据用什么_初学者如何用“python爬虫”技术抓取网页数据?

    原标题:初学者如何用"python爬虫"技术抓取网页数据? 在当今社会,互联网上充斥着许多有用的数据.我们只需要耐心观察并添加一些技术手段即可获得大量有价值的数据.而这里的&quo ...

  2. python爬虫拉取豆瓣Top250数据

    python爬虫拉取豆瓣Top250数据 利用request和正则表达式抓取豆瓣电影Top250的相关内容,提取出电影的名称.时间.评分和图片等信息,提取的站点url为https://movie.do ...

  3. Python爬虫《自动化学报》数据爬取与数据分析

    Python爬虫<自动化学报>数据爬取与数据分析 文章目录 Python爬虫<自动化学报>数据爬取与数据分析 前言 一.代码 二.结果展示 三.爬虫实现 1.准备 2.获取网页 ...

  4. Python爬虫获取基金持仓股票数据

    Python爬虫小实战 . 通过Python爬虫获取基金持仓股票数据,按照基金持仓金额对股票进行排行,并储存在本地数据库. from urllib import request from bs4 im ...

  5. Python爬虫之猫眼APP电影数据(十八)

    原创不易,转载前请注明博主的链接地址:Blessy_Zhu https://blog.csdn.net/weixin_42555080 本次代码的环境: 运行平台: Windows Python版本: ...

  6. 【大数据分析专业毕设之基于python爬虫的电影票房大数据预测分析+大屏可视化分析

    [大数据分析专业毕设之基于python爬虫的电影票房大数据预测分析+大屏可视化分析-哔哩哔哩https://b23.tv/saIKtBH flask web框架,数据使用requests模块爬取数据, ...

  7. python爬取app播放的视频,Python爬虫工程师必学——App数据抓取实战视频教程

    爬虫分为几大方向,WEB网页数据抓取.APP数据抓取.软件系统数据抓取.本课程主要为同学讲解如何用python实现App数据抓取,课程从开发环境搭建,App爬虫必备利器详解,项目实战,到最后的多App ...

  8. Python爬虫经常爬不到数据,或许你可以看一下小编的这篇文章

    原标题:解决Python爬虫爬不到数据 前言: 近期,通过做了一些小的项目,觉得对于Python爬虫有了一定的了解,于是,就对于Python爬虫爬取数据做了一个小小的总结,希望大家喜欢! 文章目录 原 ...

  9. python爬虫用途-Python爬虫入门知识:解析数据篇

    首先,让我们回顾一下入门Python爬虫的四个步骤吧: 而解析数据,其用途就是在爬虫过程中将服务器返回的HTML源代码转换为我们能读懂的格式.那么,接下来就正式进入到解析数据篇的内容啦. Part 1 ...

  10. Python爬虫:该如何学习数据爬虫

    现行环境下 大数据与人工智能的重要依托还是庞大的数据和分析采集 类似于淘宝 京东 百度 腾讯级别的企业 能够通过数据可观的用户群体获取需要的数据.而一般企业可能就没有这种通过产品获取数据的能力和条件. ...

最新文章

  1. github工具:Octotree安装和使用教程
  2. oschina android版源码中的颜色值
  3. vb double显示最大精度_个人信息与对应照片同步显示系统开发
  4. C++ 应用程序性能优化
  5. 牛客网剑指offer编程实践1-10题
  6. AOP(面向切面编程)大概了解一下
  7. 解决 VS2019 中.net core WPF 暂时无法使用 Designer 的临时方法
  8. hdu 6962 I love tree 线段树维护二次函数
  9. 富爸爸穷爸爸害了我_这是我必须告诉爸爸的-在我们的时间用完之前
  10. 让皮肤美白细致的七大DIY - 生活至上,美容至尚!
  11. NYOJ题目170网络的可靠性
  12. Android Fragment 真正的完全解析(上) (转载)
  13. Python运行时报错 ModuleNotFoundError: No module named ‘exceptions‘
  14. python 错误代码_[python]WindowsError的错误代码详解
  15. 第三节: 串口通信(用CubeMX学习STM32)
  16. 双向链表基本实现简单贪吃蛇
  17. 全国省市县行政代码表1
  18. 利用多线程中线程休眠----sleep实现简单的计时器以及时钟功能
  19. 旅游指南之九----风景看尽大西北
  20. Java基于ssm开发的古董竞标拍卖系统也可以改成拍卖品网站

热门文章

  1. CANdelaStudio编辑CDD——学习碎笔
  2. All-Pay Contests 论文定理推导(博弈论+机制设计)
  3. c语言 圆周率10000位,圆周率(小数点后10000位,背死你)
  4. 格式工厂 wav 比特率_鸡娃常用工具系列一格式工厂(音频转换软件)
  5. 通信专业能报国考的计算机类吗,通信工程专业可以报考计算机科学技术类公务员职位么...
  6. Linux之磁盘与文件系统管理
  7. vuefilters过滤器的使用,给金钱价格加上符号单位
  8. win7系统中建立家庭局域网
  9. 对mysql优化关注_效率提高N倍的19条MySQL优化秘籍
  10. Diamond安装步骤