借鉴博客
《十行代码用pandas的read_html爬取中彩网双色球历年全部数据》https://blog.csdn.net/wwivywwivy/article/details/81810067
数据来源:
http://kaijiang.zhcw.com/zhcw/html/ssq/list_1.html

存在问题:
该文中将同一个单元格中的开奖数据没有提取出来


解决方案:
将开奖数据单元格中的七个号码分别提取存入七个单元格中

import pandas as pd
import csv
import linecachedef 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]  # 跳过前两行 (去除前两行开奖日期  期号  中奖号码    销售额(元)  等信息,后面自己定义标题)return tb.drop([len(tb)-1])  # len(tb)是抓取的网页行数,去掉最后一行(去掉最后一行共116 页 /2318 条记录 首页 上一页 下一页 末页 当前第 1 页等信息)with open(r'F:\PythonFiles\PycharmFile\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,2):  # range(其实编号,总共)目前116页数据#第一种方法,整体写入数据,但不能把同单元格内各球数据分开get_one_page(i).to_csv(r'F:\PythonFiles\PycharmFile\ssq.csv', mode='a', encoding='utf_8_sig', header=0, index=0)print('第'+str(i)+'页抓取完成')'''#第二种方法,逐个写入数据
for i in range(1,2):  # range(其实编号,总共)目前116页数据reader=get_one_page(i)  #接收到第i页所有数据#print(reader[2][1])   #第二列第一行length=len(reader)  #获取该页数据的行数for j in range(0,length):col1=reader[0][j] #每一行第一列开奖日期给数据col1,后面存放到新的数据表中col2=reader[1][j]  #该行第二列开奖期号数据给col2col=list(filter(None,reader[2][j].split(" ")))  #将第三个存有号码的单元格进行拆分col3=col[0]  #第一个红球col4=col[1]  #第二个红球col5 = col[2]col6 = col[3]col7 = col[4]col8 = col[5]  #蓝球col9 = col[6]  # 蓝球col10 = reader[3][j]  #销售额col11 = reader[4][j]  #一等奖中奖注数col12 = reader[5][j]  #二等奖中奖注数with open(r'F:\PythonFiles\PycharmFile\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])  # 给csv文件中插入一行

双色球网页历史数据爬取相关推荐

  1. 关于js渲染网页时爬取数据的思路和全过程(附源码)

    于js渲染网页时爬取数据的思路 首先可以先去用requests库访问url来测试一下能不能拿到数据,如果能拿到那么就是一个普通的网页,如果出现403类的错误代码可以在requests.get()方法里 ...

  2. 教你如何使用Java代码从网页中爬取数据到数据库中——网络爬虫精华篇

    文章目录 1:网络爬虫介绍 2:HttpClients类介绍 2.1 HttpGet参数问题 2.2 HttpPost参数问题 2.3 连接池技术问题 3:Jsoup介绍 4:动手实践如何抓取网页上数 ...

  3. day16-简单网页数据爬取

    day16-简单网页数据爬取 1.练习 """ 将100以内的素数输出到一个文件中""" def is_prime(num:int)-> ...

  4. BiliBili系列(二):个人历史数据爬取与分析

    文章目录 一.使用cookie进行登录 二.个人历史数据爬取 三.数据清洗 四.数据分析 完整代码链接:查看 一.使用cookie进行登录 我们已经进行了模拟用户登录并获取了cookie,所以在爬取的 ...

  5. python循环爬取页面_使用for或while循环来处理处理不确定页数的网页数据爬取

    本文转载自以下网站: Python For 和 While 循环爬取不确定页数的网页  https://www.makcyun.top/web_scraping_withpython16.html 需 ...

  6. 网络爬虫从入门到实践(三)————动态网页的爬取

    动态网页的爬取 在动态网页爬取之前,我们要了解一种异步加载更新技术--AJAX(异步的JavaScript 和XML) 他的价值在于通过在后台与服务器进行少量的数据交换就可以使用网页的某部分进行更新 ...

  7. 网页上爬取数据(Java版)通俗易懂

    学习目标: 当我们需要获取一些网络上的资源时,爬虫成了一种不可获取的技术,但是各大网站基本都限制通过接口来获取,本文将手把手教大家如何通过网页来获取我们想要的资源(仅供学习使用),一招学会,天下无敌! ...

  8. 【R】用R软件对网页进行爬取

    写在前面 如果对你有帮助的话,可以给我点个赞吗. 首先我们要有R这个软件,如果你没有,可以看看这篇博客,先把R装上:https://blog.csdn.net/qq_44762986/article/ ...

  9. 使用Java IO流实现网页数据爬取(一)

    使用Java实现网页数据爬取(IO流) 第一阶段:爬取网页源码及所有链接地址 引入代码步骤: 1.将ClimbImg.java,Demo.java文件导入 ClimbImg.java 爬取网页雏形 : ...

  10. 爬虫 python 爬取php的网页,带有post参数的网页如何爬取

    记录一下自己的爬虫踩过的坑,上一次倒是写了一些,但是写得不够清楚,这次,写清楚爬取的过程. 这个网站是某省的志愿服务网. 就是它了. 我向爬取一些组织开展过的活动,比如这一个组织, 这个组织的页面找打 ...

最新文章

  1. TradingView 初识
  2. halcon基本,vb,vc连接halcon读取图像,视频
  3. [Leedcode][JAVA][第236题][二叉树的公共祖先][后序遍历][BFS]
  4. 电脑键盘下划线怎么打_电脑键盘失灵怎么办?你应该学会的四种方法
  5. 地图结合资料 提供全新网络服务
  6. SVM Soft/Hard/核 原理整理
  7. Hibernate与MyBatis的区别
  8. 金融危机下如何获得工作和跳槽机会-网络系统工程师的最终归宿(二)
  9. 华为交换机导入配置_华为交换机配置教程 华为核心交换机配置
  10. 如何调用showapiRequest解决图片验证码识别?
  11. Python数据挖掘与分析——泰坦尼克号
  12. 自然语言处理——基于预训练模型的方法——第3章 基础工具集与常用数据集
  13. 程序员如何创建自己的网站
  14. java8新特性之stream
  15. first season twenty-third episode,Ben was born!!!,Hi Ben???
  16. 自然语言处理技术及处理框架学习
  17. web的首屏加载优化
  18. rs_D455相机内外参标定+imu联合标定
  19. 2019年蓝桥杯C/C++ B组试题 部分题目答案
  20. automake编译工程

热门文章

  1. 一个名牌大学毕业生心酸经历
  2. Scrapy——基本用法(命令行工具、Item、Spiders)
  3. Little_Women8.txt
  4. pytorch的两个函数 .detach() .detach_() 的作用和区别
  5. 补丁冷启动模式_Bilibili 移动端组件化实践中的冷启动优化
  6. 面向对象使用python-docx模块制作格式化文本(奖状生成器)
  7. 计算机windows7桌面是指什么,在windows7中,桌面指的是什么
  8. java动态规划凑硬币问题_动态规划 凑硬币问题
  9. data: function () { return {}} ——你不应该在一个子组件内部改变 prop
  10. 【华为OD机试真题 JS】数字涂色