一、工程目录

二、python爬虫三步骤

2.1 获取数据

这里爬取数据使用request的库,使用get/post接口请求来做数据的获取即可。

数据获取一般有静态页面数据获取、动态数据获取、伪装请求数据获取等等方式,获取数据的具体代码如下:

import json
import requestsclass GetData():def __init__(self):self.web_url = "http://www.cwl.gov.cn/cwl_admin/front/cwlkj/search/kjxx/findDrawNotice?name=ssq&issueCount=100"self.header = {"Referer": "http://www.cwl.gov.cn/ygkj/wqkjgg/ssq/","User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.69 Safari/537.36"}def get_data(self, clolr_type):ball_list = []try:reponse = requests.get(self.web_url, headers=self.header)content = reponse.textdata = json.loads(content).get("result")for x in data:line_str = json.dumps(x)line_dict = json.loads(line_str)if "red" == clolr_type:temp_list = line_dict["red"].split(",")for num in temp_list:ball_list.append(int(num))elif "blue" == clolr_type:ball_list.append(int(line_dict["blue"]))else:print("color type error")print(str(line_dict["code"]) + " : " + str(line_dict["red"]) + " : " + line_dict["blue"])except IOError:print("get data error")return ball_list

2.2 分析数据

将获取的数据做各种解析和分析,一般会用到各种工具库类,比如json等,在解析过程中会用到列表、词典、字符串等等各种语法数据的解析,具体可以看python的语法API文档:https://www.runoob.com/python/python-tutorial.html,我解析数据的代码如下(主要就是统计红色球和蓝色球出现的统计数据):


class ParseData():# 分析结果def __init__(self, max_range):self.max_range = max_rangedef parse_data(self, source_data):frequencies = []for blue_value in range(1, self.max_range + 1):blue_cnt = source_data.count(blue_value)frequencies.append(blue_cnt)return frequencies

2.3 展示/使用数据

这里我只是将数据做了展示,这里展示会有各种类库,比如matplotlib、pygal等等,各种数据展示方式各有优劣,具体我展示数据的代码如下:

import pygalclass ShowData():def __init__(self, title, x_title, y_title, tips):self.title = titleself.x_title = x_titleself.y_title = y_titleself.tips = tipsdef show_data(self, x_data, y_data, file_name):hist = pygal.Bar()hist.title = self.titlehist.x_labels = x_datahist.x_title = self.x_titlehist.y_title = self.y_titlehist.add(self.tips, y_data)hist.render_to_file(file_name)

2.4 主程序入口运行类

from show_data import ShowData
from get_data import GetData
from parse_data import ParseDataclass Main():def __init__(self):self.red_max_num = 33self.blue_max_num = 16def run(self):# 获取数据get_red_ball_data = GetData()get_blue_ball_data = GetData()red_ball = get_red_ball_data.get_data("red")blue_ball = get_blue_ball_data.get_data("blue")# 分析数据red_parse_data = ParseData(self.red_max_num)blue_parse_data = ParseData(self.blue_max_num)red_frequencies = red_parse_data.parse_data(red_ball)blue_frequencies = blue_parse_data.parse_data(blue_ball)# 展示分析数据的结果red_show_data = ShowData("Results of Red Ball", "Result Of Red", "Red Ball Frequency of Result", "Red Count")blue_show_data = ShowData("Results of Blue Ball", "Result Of Blue", "Blue Ball Frequency of Result", "Blue Count")red_show_data.show_data(range(1, self.red_max_num + 1), red_frequencies, "result/red_ball_result.svg")blue_show_data.show_data(range(1, self.blue_max_num + 1), blue_frequencies, "result/blue_ball_result.svg")if __name__ == "__main__":main = Main()main.run()

Python爬虫实战:爬取福利彩票双色球中奖结果数据相关推荐

  1. Python爬虫实战爬取租房网站2w+数据-链家上海区域信息(超详细)

    Python爬虫实战爬取租房网站-链家上海区域信息(过程超详细) 内容可能有点啰嗦 大佬们请见谅 后面会贴代码 带火们有需求的话就用吧 正好这几天做的实验报告就直接拿过来了,我想后面应该会有人用的到吧 ...

  2. python爬虫实战---爬取大众点评评论

    python爬虫实战-爬取大众点评评论(加密字体) 1.首先打开一个店铺找到评论 很多人学习python,不知道从何学起. 很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手. 很多 ...

  3. python爬虫实战-爬取视频网站下载视频至本地(selenium)

    #python爬虫实战-爬取视频网站下载视频至本地(selenium) import requests from lxml import etree import json from selenium ...

  4. python爬虫实战-爬取微信公众号所有历史文章 - (00) 概述

    http://efonfighting.imwork.net 欢迎关注微信公众号"一番码客"获取免费下载服务与源码,并及时接收最新文章推送. 最近几年随着人工智能和大数据的兴起,p ...

  5. Python爬虫,爬取51job上有关大数据的招聘信息

    Python爬虫,爬取51job上有关大数据的招聘信息 爬虫初学者,练手实战 最近在上数据收集课,分享一些代码. 分析所要爬取的网址 https://search.51job.com/list/000 ...

  6. python爬虫实战--爬取猫眼专业版-实时票房

    小白级别的爬虫入门 最近闲来无事,发现了猫眼专业版-实时票房,可以看到在猫眼上映电影的票房数据,便验证自己之前学的python爬虫,爬取数据,做成.svg文件. 爬虫开始之前 我们先来看看猫眼专业版- ...

  7. 如何去使用Python爬虫来爬取B站的弹幕数据?

    哔哩哔哩众所周知是弹幕的天堂,视频观看人数越多,弹幕也就越多.今天小千就来教大家如何去使用Python开发一个爬虫来爬取B站的弹幕数据. 1.弹幕哪里找? 平常我们在看视频时,弹幕是出现在视频上的.实 ...

  8. Python爬虫:爬取华为应用市场app数据

    爬取华为应用商店的所有APP名称和介绍,因为页面数据是ajax异步加载的,所以要找到对应的接口去解析数据. 爬取华为应用市场app数据 一.分析网页 1. 分析主页 2. 分析appid 3. 分析u ...

  9. python爬虫实战-爬取小说

    今天做一个爬虫练手的小实战:爬取顶点小说网的小说,实现下载到本地(虽然网站上本来就可以下载,不过还是自己写代码来有成就感嘛!) 爬取网站 进入官网后,点击元尊,就爬取这本书了. 我们先把整个网页爬下来 ...

最新文章

  1. Java 枚举(enum)详解
  2. SpringCloud创建Eureka模块
  3. cefsharp异步抓取html5,winform插件cefsharp65最新版完美demo,完美flash、html5、和调用摄像头支持,部署就能用...
  4. C#套接字和windowsAPI套接字
  5. TeeChart基础使用手册
  6. LCD12864图形点阵液晶显示模块中文资料介绍
  7. 北大成立人工智能研究院,中科院院士黄如担任院长
  8. CentOS7 安装svn
  9. 解决element 表单验证不通过的俩大坑
  10. SpringBoot 使用validation数据校验-超级详细 - 第406篇
  11. [转]读《简约至上》有感 - 及我的支语片言
  12. AlexNet论文翻译(中英文对照版)-ImageNet Classification with Deep Convolutional Neural Networks
  13. 郭敬明最经典的45句话
  14. 当 IDENTITY_INSERT 设置为 OFF 时,不能为表 'Logger' 中的标识列插入显式值
  15. 计算机预测自己未来的相貌,AI算法预测未来相貌,准确率高达90%以上
  16. 密钥(yao)(yue)
  17. 二叉树层次遍历算法 python_二叉树的遍历详解:前、中、后、层次遍历(Python实现)...
  18. 凌晨4点起床是一种什么体验?
  19. h5页面弹窗滚动穿透的思考
  20. 月亮代表我的心计算机谱子,月亮代表我的心(超简单) C调钢琴谱

热门文章

  1. C++课程设计:航空客运订票系统
  2. 目标检测第三篇:基于SSD的目标检测算法
  3. 基于vue+springboot+MySQL的电影视频网站设计与实现 文档+项目源码及数据库文件
  4. 五大维度提升产品质量
  5. 水中浮力插件buoyancy_NaughtyWaterBuoyancy浮力插件解析
  6. HTML中的上下角标
  7. java.io.FileNotFoundException: class path resource异常处理
  8. PHP 链式操作 - 学习/实践
  9. 批量升级GPON光猫软件实在搞不定,passthru Driver不会用,在这里向发文征求一下
  10. SimpleITK学习