标签下;标签中包含:开奖日期/期号/蓝色中奖号码/红色中奖号码等信息。
步骤四:编写python代码
代码示例:
#!python3
import requests,bs4
def GetWinningInfo(webaddress):
res = requests.get(webaddress).text
htmlinfo = bs4.BeautifulSoup(res,'html.parser')
resultinfo_qishu = htmlinfo.select('td')
resultinfo_haoma = htmlinfo.select('em')
#包括每一期的期号;开奖日期等信息
resultinfo_haomalist = str(resultinfo_haoma).replace('','').replace(' ','').replace('','').replace('[','').replace(']','').split(',')
print(len(resultinfo_qishu))
for i in range(0,len(resultinfo_qishu)-1,7):
for j in range(0,2):
if j == 0:
print('开奖日期:' + str(resultinfo_qishu[i+j]).replace('
','').replace(' ',''))
else:
print('期 号:' + str(resultinfo_qishu[i+j]).replace('
','').replace(' ',''))
x = []
for n in range(0,7):
x.append(resultinfo_haomalist[i+n])
print('红色球:%s,%s,%s,%s,%s,%s;蓝色球:%s' % (x[0],x[1],x[2],x[3],x[4],x[5],x[6]))
#main
#TODO:获取总的页码数量
GetWinningInfo('http://kaijiang.zhcw.com/zhcw/html/ssq/list_1.html')
上面的代码目前仅实现了对第一页数据的正确获取并将获取的结果显示在屏幕上;到这里,本项目依然对现实生活起不到任何作用;当然除了给在座各位技术死宅们一丝丝窃喜~~~
因此,为了能让大多数人从本程序中的获益并由衷赞赏我们的超能力,我们还需要想的更多,做的更好。
例如:读取往期全部数据;将读取的数据保存在excel中;再对数据进行一些符合人类逻辑的分析,将分析结果展现在图表中等等……
步骤四:那我们就开动吧
首先我们实现抓取全部往期数据:
示例二:
#!python3
import requests,bs4
def GetWinningInfo(webaddress):
res = requests.get(webaddress).text
htmlinfo = bs4.BeautifulSoup(res,'html.parser')
resultinfo_qishu = htmlinfo.select('td')
resultinfo_haoma = htmlinfo.select('em')
#包括每一期的期号;开奖日期等信息
resultinfo_haomalist = str(resultinfo_haoma).replace('','').replace(' ','').replace('','').replace('[','').replace(']','').split(',')
print(len(resultinfo_qishu))
issuerDatas = []
for i in range(0,len(resultinfo_qishu)-1,7):
issuerData = []
for j in range(0,2):
if j == 0:
#print('开奖日期:' + str(resultinfo_qishu[i+j]).replace('
','').replace(' ',''))
a = str(resultinfo_qishu[i+j]).replace('
','').replace(' ','')
issuerData.append(a)
else:
#print('期 号:' + str(resultinfo_qishu[i+j]).replace('
','').replace(' ',''))
b = str(resultinfo_qishu[i+j]).replace('
','').replace(' ','')
issuerData.append(b)
x = []
for n in range(0,7):
x.append(resultinfo_haomalist[i+n])
#print('红色球:%s,%s,%s,%s,%s,%s;蓝色球:%s' % (x[0],x[1],x[2],x[3],x[4],x[5],x[6]))
issuerData.append(x)
issuerDatas.append(issuerData)
return issuerDatas
#main
#TODO:获取总的页码数量
numberOfPages = 113 #如果有兴趣可以尝试将这个数字也从网站中获取。
baseWebAddress = "http://kaijiang.zhcw.com/zhcw/html/ssq"
for e in range(1,numberOfPages+1):
print('--------这是第%s页--------' % e)
realWebAddress = baseWebAddress + '/list_'+ str(e) + '.html'
resultall = GetWinningInfo(realWebAddress)
for everyIssuerData in resultall:
#print(everyIssuerData)
print('【开奖日期】:%s' % everyIssuerData[0])
print('【期 号】:%s' % everyIssuerData[1])
print('【中奖号码】')
print('红色球:%s,%s,%s,%s,%s,%s;蓝色球:%s' % (everyIssuerData[2][0],everyIssuerData[2][1],everyIssuerData[2][2],everyIssuerData[2][3],everyIssuerData[2][4],everyIssuerData[2][5],everyIssuerData[2][6]))
以上代码实现了将往期所有开奖历史信息获取并打印到屏幕上的功能;接下来我们实现将获取的数据写入文件。
在开始下一步之前大家选需要掌握一些基础的python操作Excel文件的方法;这里我们加一个小插曲;一起学习下这方面的内容。(那我们就另加一个步骤吧。)
步骤五:学学怎么使用Python操作Excel(插曲)
学习用Python处理Excel文件,这里主要用xlrd和xlwt模块,用前需要安装!一般就是要pip安装。(这个不会吗?那去查查谷歌吧。)
xlrd(excel read)来读取Excel文件,使用xlwt(excel write)来生成Excel文件(可以控制Excel中单元格的格式),需要注意的是,用xlrd读取excel是不能对其进行操作的:xlrd.open_workbook()方法返回xlrd.Book类型,是只读的,不能对其进行操作。而xlwt.Workbook()返回的xlwt.Workbook类型的save(filepath)方法可以保存excel文件。
因此对于读取和生成Excel文件都非常容易处理,但是对于已经存在的Excel文件进行修改就比较麻烦了。不过,还有一个xlutils(依赖于xlrd和xlwt)提供复制excel文件内容和修改文件的功能。其实际也只是在xlrd.Book和xlwt.Workbook之间建立了一个管道而已。
PS: xlwt、wlrd只能读写xls文件,而不能操作xlsx文件(道听途说,本人没有试过,想必是不会错的)
因此,我们需要用到openpyxl;安装非常简单也是用pip。(openpyxl只能操作xlsx文件而不能操作xls文件)
如果你还有图表的需求,那么你可以安装xlsxwriter库。
Python就是强大,兵器库已经由前辈们造好了;你只需要选择最合适的兵器;然后读一下使用说明;分分钟练就绝世神功;当然这个只适合速成班的同学们,真正要成为编程界的一代宗师,还是需要认真学学如何打造自己的趁手神兵的。
再辅一个差异对比的链接吧。
http://www.gocalf.com/blog/python-read-write-excel.html
https://zhuanlan.zhihu.com/p/23998083
我们先来看几个关于Excel的概念:
workbook: 每一个Excel文件就是一个workbook。
sheet: 每一个workbook中可以包含多个sheet,对应Excel中我们在左下脚所看到的“sheet1”,“sheet2”等。
cell: 每一个sheet就是我们通常所看到的一个表格,可以含有许多行和列,每个确定的行号,列号所对应的一个格子就是一个cell。
那么我就随便选择一个兵器:xlsxwriter(这货不能打开和修改现有的excel文件);虽然功能缺失了一些,但是应对我当前的需求足够了。
关于这个模块的深入学习,请参考这里:https://xlsxwriter.readthedocs.io/
首先是安装这个模块:pip install xlsxwriter
接下来尝试编写一个小小的脚本创建一个excel文件并在其中写入一些简单的数据。
下面给一个示例:
#!python3
import xlsxwriter
#本示例主要实现Excel文件的基本操作
#创建Excel文件
workbook = xlsxwriter.Workbook('testexcel.xlsx')
worksheet = workbook.add_worksheet('TEST')
workbook.close()
#读取现有的EXCEL文件的功能xlsxwriter模块无此功能,因此这里创建的文档和上面的不一样
workbook = xlsxwriter.Workbook('testexcel.xlsx')
worksheet = workbook.add_worksheet('TEST')
#设置列宽
worksheet.set_column('A:A',40)
worksheet.set_row(0, 40)
#自定义格式
bold = workbook.add_format({'bold':True})
a = workbook.add_format({'font_size': 26, 'bold': True, 'align': 'left','bg_color': 'cccccc'})
b = workbook.add_format({'border': 1, 'font_size': 13, 'bold': True, 'align': 'center','bg_color': 'ccccc0'})
worksheet.write('C1', "python excel")
worksheet.strings_to_urls
worksheet.write_row('H1',['X','X','X'],b)
worksheet.write_row('H2',['X','X','X'],b)
worksheet.write_row('H3',['X','X','X'],b)
worksheet.write_row('H4',['X','X','X'],b)
worksheet.write_row('H5',['X','X','X'],b)
worksheet.write_row('H6',['X','X','X'],b)
#A1单元格写入数据
worksheet.write('A1','Hello')
#B1单元格写入数据并加粗
worksheet.write('B1','World',bold)
#A2单元格写入数据并加粗
worksheet.write('A2','欢迎使用Python!',bold)
#另一种形式写入数据
worksheet.write(2,0,20)
worksheet.write(3,0,111.205)
#写入公式
worksheet.write(4,0,'=SUM(A3:A4)')
#插入图片
worksheet.insert_image('A10', '11_test001.jpg')
worksheet.insert_image('A10', '11_test001.jpg', {'url': 'https://www.python.org/'})
workbook.close()
有了以上这些最基础的知识以后,我们就可以继续去实现我们的想法了。
步骤六:将抓取的数据写入EXCEL文件,并做简单的图表分析
上面是一些题外话,下面进入正题;我们将在程序中添加代码,实现将抓取的数据写入EXCEL文件的目的,并且文件的命名方式为按照主题+日期的方式。
真实的环境下我们爬去数据不仅仅是为了拿而拿;关键还是的从数据中筛选分析出有用的信息。
直接上代码吧:
#!python3
import requests,bs4,xlsxwriter,time
#环境运行基础数据定义
#**********************************************************************
scriptRuningTime = time.strftime("%Y%m%d_%H%M%S", time.localtime())
outFileName = 'LotteryHistoryDataList_' + scriptRuningTime + '.xlsx'
baseWebAddress = "http://kaijiang.zhcw.com/zhcw/html/ssq"
#函数定义
#**********************************************************************
def GetWinningInfo(webaddress):
res = requests.get(webaddress).text
htmlinfo = bs4.BeautifulSoup(res,'html.parser')
resultinfo_qishu = htmlinfo.select('td')
resultinfo_haoma = htmlinfo.select('em')
#包括每一期的期号;开奖日期等信息
resultinfo_haomalist = str(resultinfo_haoma).replace('','').replace(' ','').replace('','').replace('[','').replace(']','').split(',')
#print(len(resultinfo_qishu))
issuerDatas = []
for i in range(0,len(resultinfo_qishu)-1,7):
issuerData = []
for j in range(0,2):
if j == 0:
#print('开奖日期:' + str(resultinfo_qishu[i+j]).replace('
','').replace(' ',''))
a = str(resultinfo_qishu[i+j]).replace('
','').replace(' ','')
issuerData.append(a)
else:
#print('期 号:' + str(resultinfo_qishu[i+j]).replace('
','').replace(' ',''))
b = str(resultinfo_qishu[i+j]).replace('
','').replace(' ','')
issuerData.append(b)
x = []
for n in range(0,7):
x.append(resultinfo_haomalist[i+n])
#print('红色球:%s,%s,%s,%s,%s,%s;蓝色球:%s' % (x[0],x[1],x[2],x[3],x[4],x[5],x[6]))
issuerData.append(x)
issuerDatas.append(issuerData)
return issuerDatas
#main
#**********************************************************************
#TODO:获取总的页码数量
numberOfPages = 113 #如果有兴趣可以尝试将这个数字也从网站中获取。
#创建Excel文件并写入表头
workbook = xlsxwriter.Workbook(outFileName)
worksheet = workbook.add_worksheet('Lottery')
worksheet.hide_gridlines(2)
tableHeader = ["NO.","开奖日期","期 号","红球1","红球2","红球3","红球4","红球5","红球6","蓝球1",]
a = workbook.add_format({'border': 1, 'font_size': 20, 'bold': True, 'align': 'center','bg_color': 'ccccc0'})
b = workbook.add_format({'border': 1, 'font_size': 13,'align': 'left','bg_color': '5F9EA0'})
c = workbook.add_format({'border': 1, 'font_size': 13,'align': 'left','bg_color': 'D2B48C'})
worksheet.write_row('A1', tableHeader,a)
#开始逐个网页爬取数据
i = 0
for e in range(1,numberOfPages+1):
print('--------这是第%s页--------' % e)
realWebAddress = baseWebAddress + '/list_'+ str(e) + '.html'
resultall = GetWinningInfo(realWebAddress)
for everyIssuerData in resultall:
i = i + 1
cellPos1 = 'A' + str(i+1)
cellPos2 = 'B' + str(i+1)
#小细节把抓取的数据写入前转换成数字格式
cellValue = [everyIssuerData[0],int(everyIssuerData[1]),int(everyIssuerData[2][0]),int(everyIssuerData[2][1]),int(everyIssuerData[2][2]),int(everyIssuerData[2][3]),int(everyIssuerData[2][4]),int(everyIssuerData[2][5]),int(everyIssuerData[2][6])]
if (i % 2) == 0:
worksheet.write(cellPos1,i,b)
worksheet.write_row(cellPos2, cellValue,b)
else:
worksheet.write(cellPos1,i,c)
worksheet.write_row(cellPos2, cellValue,c)
#增加一个Sheet
chartSheet = workbook.add_worksheet('Chart')
#增加一个折线图图表对象
chart_col = workbook.add_chart({'type': 'line'})
name = '=%s!$J$1' % 'Lottery'
categories = '=%s!$B$2:$B$%s' % ('Lottery',(i + 1))
values = '=%s!$J$2:$J$%s' % ('Lottery',(i + 1))
print('%s|%s|%s' % (name,categories,values))
chart_col.add_series({
# 这里的sheet1是默认的值,因为我们在新建sheet时没有指定sheet名
# 如果我们新建sheet时设置了sheet名,这里就要设置成相应的值
'name': name,
'categories': categories,
'values': values,
'line': {'color': 'blue'},
})
chart_col.set_title({'name': '蓝色球分析'})
chart_col.set_x_axis({'name': '开奖日期'})
chart_col.set_y_axis({'name': 'BlueNumber'})
chart_col.set_style(1)
chartSheet.insert_chart('B2', chart_col)
chart_col.set_size({'width': 10000, 'height': 500})
workbook.close()
以上代码运行的结果是:
好了,到此我的目的基本实现,后面也许会尝试利用一些“运去”算法实现一些数据分析,看有没有时间了。
如果喜欢本文请给我点个赞,如果本文由什么纰漏,也请大家不吝赐教,共同进步~
文档和源码附件在:http://down.51cto.com/data/2445912
转载于:https://blog.51cto.com/mlxia/2105244
你可能感兴趣的:(利用Python实现爬取彩票网站数据——小样)
私域流量运营工具:用户资产的核动力引擎
品牌方的三大致命困局1.用户画像的碎片化黑洞某母婴品牌因企微/小程序数据割裂,将防过敏奶粉推给健康婴儿,引发37%客户退群(毕马威2024报告)。标签混乱导致营销ROI跌破1:0.8,千万级用户池沦为数字废墟。2.内容分发的重复劳动炼狱某美妆团队在公众号/企微/抖音重复编辑内容,单条发布耗时53分钟(有赞白皮书)。跨平台数据不通导致爆款复用率不足15%,创作灵感消耗在机械劳作中。3.裂变增长的失控
绩效系统的技术重构:用工程思维解决公平性与效率难题
花海如潮淹
重构
绩效系统的技术重构:用工程思维解决公平性与效率难题当你的绩效模块成为团队吐槽的“祖传屎山”,背后往往是技术债的集中爆发。本文从开发者视角拆解:如何用系统设计解决评分公平性、数据孤岛与流程低效三大顽疾。一、技术人眼中的绩效痛点graphTDA[绩效系统技术债]-->B[评分公平性]A-->C[数据整合]A-->D[流程效率]B-->B1(“案例:销售精英因黑盒评分离职”)C-->C1(“手动合并40
假冒高管!何晓斌蓝碳节能减排恶意带单,亏损被骗无法出金真相!都是套路已挽回!
大盛律道
近期,一场名为“摩根士丹利MorganStanley何晓斌节能减排”的在投资界引发了广泛关注。这场以冒充做慈善投票项目的名义,利用股民贪念,通过诱导投资,实施了一系列的欺诈行为。其中,一个关键角色是自称为“孙亮亮哥”的老师,其操作手法及伎俩让人瞠目结舌。骗子他们的保密协议根本无效,不要惧怕!本身他们的身份都是假的,冒充的,所谓的保密协议,就是为了让你蒙在鼓里被骗,不被身边亲人发现!有受害者反馈:骗
数据结构(C语言实现)
呈羲
笔记 数据结构 c语言 开发语言
一、链表1.链表实现以及在头部插入结点先来一段代码....该代码包含创建链表并在头部插入结点,遍历链表并打印结点数据,接下来逐步分析,简单的基础语法不过多记录....#include#includestructNode{intdata;structNode*next;};structNode*head;voidInsert(intx){Node*temp=(Node*)malloc(sizeof(
转行网络安全需要学什么?(非常详细)零基础入门到精通,收藏这一篇就够了
网络安全k叔
web安全 计算机网络 网络安全 编程 计算机 转业 信息安全
什么是网络安全?网络安全是指保护网络系统的硬件、软件及其系统中的数据,破坏、更改、泄露,使系统连续可靠正常地运行,网络服务不会中断。未来,我国将着重发展数字经济,发展云计算、大数据、物联网、工业互联网、区块链和人工智能等产业,这些产业全部都基于网络互联。网络的安全就是以上这些产业能够良性发展的基础,也是建设制造强国和网络强国的基础保障。什么是网络安全工程师?网络安全工程师是负责保护计算机网络系统,
全球化短剧平台全栈技术架构白皮书:多区域部署、智能分发与沉浸式体验的完整解决方案
ywyy6798
推客系统 短剧 小程序 海外短剧 短剧分销 海外短剧系统开发 短剧系统开发
一、全球化基础架构深度设计全球网络基础设施构建采用多活数据中心部署模式,在北美(弗吉尼亚)、欧洲(法兰克福)、亚太(新加坡)建立三大核心枢纽节点构建混合CDN网络,整合AWSCloudFront、Akamai、Fastly等主流CDN服务商,同时接入当地优质运营商CDN部署边缘计算节点网络,在全球200+边缘位置部署轻量级计算单元,实现用户请求的就近处理建立智能流量调度系统,基于实时网络状况监测数
Python异步编程:深入理解事件循环与协程
引言:从餐厅服务员说起想象你是一家高档餐厅的服务员。传统方式下,你接到顾客A的点餐后,需要一直等在厨房,直到菜品做好才能去服务顾客B。这显然效率很低。聪明的服务员会这样做:接到顾客A的订单后,把单子交给厨房,然后立即去服务顾客B、C、D…当厨房通知某个菜做好了,再去取餐送给相应的顾客。这就是事件循环的工作方式——不傻等,而是充分利用等待时间去做其他事情。一、事件循环:异步编程的心脏1.1什么是事件
Flink:处理有界流数据的wordcount
小易学编程
flink 大数据
数据源:helloworldhelloflinkhelloscala有界流:packagechapter02importorg.apache.flink.streaming.api.scala._/***ClassName:BoundedStreamWordCount*Package:chapter02*Description:**@Author小易日拱一卒*@Create2025-06-272:
2024适合个人干的副业新风口,新机遇助你轻松实现财富增值!
氧惠佣金真的高
在2024年,有多种副业相对容易获得收益。以下是一些具体建议,按照不同类别进行归纳:技能输出型副业:代跑腿:通过相关APP注册认证,接取任务。每单收入根据距离而定,一般几十元不等。适合时间充足的上班族。游戏代打:对于游戏爱好者,通过游戏内倒卖物品、赚取差价,再将游戏币兑换成现金,短短几个小时就能收入上百元。编程接单:程序员可以利用空闲时间接取外包的开发任务,如开发小程序等,这不仅能锻炼技能,还能带
2025年软考中级科目考试安排,综合建议
胡杨学长.
软考 项目经理 项目管理 含金量 软考 职场 pmp 软考中级 2025年 考试安排
2024年软考中级-系统集成项目管理工程师(简称“集成”)改成了1年考1次。2024年上半年软考中级开考资格有:软件设计师(简称“软设”)、网络工程师(简称“网工”)、软件评测师(简称“评测”)、电子商务设计师(简称“电商”)、嵌入式系统设计师(简称“嵌入式”)、数据库系统工程师(简称“数据库”)、信息系统管理工程师(简称“信管”)。2024年下半年软考中级开考资格有:软件设计师、网络工程师、信息
Python开发中,SQLAlchemy 的同步操作和异步操作封装,以及常规CRUD的处理。
老少女王烦烦
python oracle 数据库 开发语言
在我们使用Python来和数据库打交道中,SQLAlchemy是一个非常不错的ORM工具,通过它我们可以很好的实现多种数据库的统一模型接入,而且它提供了非常多的特性,通过结合不同的数据库驱动,我们可以实现同步或者异步的处理封装。1、SQLAlchemy介绍SQLAlchemy是一个功能强大且灵活的PythonSQL工具包和对象关系映射(ORM)库。它被广泛用于在Python项目中处理关系型数据库的
新一代会员分销返利小程序,聚合cps系统独立部署,对接20多个CPA/CPS资源
+V:ywxs5787
小程序开发 cps分销 软件开发 小程序 uniapp 微信小程序
技术栈前端:vue3+uniapp后端:PHP数据库:MySQL一、系统介绍PHP部分代码'value1','param2'=>'value2',//添加其他参数];//发送HTTPPOST请求$ch=curl_init();curl_setopt($ch,CURLOPT_URL,$url);curl_setopt($ch,CURLOPT_POST,true);curl_setopt($ch,CU
淘宝商城四面(附架构面试专题)及B2C商城架构项目实战分享!
风平浪静如码
一面主要问题如下(主要注重基础,问得很深很广,压力面试):首先自我介绍数据结构算法的基本问题,如排序算法,二叉树遍历,后序遍历非递归,图的最短路径问题对一个数组进行绝对值排序的算法java中hashmap的底层实现java中垃圾回收机制GC原理等介绍自己的项目,数据库中用到的数据结构数据模型,死锁的概念(问的应该是数据库的死锁),如何避免死锁?乐观锁和悲观锁?一致性hash算法项目中业务对象的关联
Android MVC MVP MVVM
richy_
MVCMVCController用户动作映射成模型更新选择响应的视图View获取模型数据模型展示、更新收集用户行为,发送给控制器Model封装应用程序状态响应状态查询通知视图更新这里将Controller、View放在同一级别,主要是为了说明其调用关系,Controller对View是单向调用,Controller和View对Model的调用也是单向的,以实箭头表示。Model将数据传递给Cont
软考热门科目全套学习资料
启航挨踢
软考资料整理 笔记
软考热门科目学习资料免费分享,包括:系统集成项目工程师、数据库系统工程师、软件设计师、信息系统项目管理师、系统架构师等科目的教材、视频教程、历年真题,需要的小伙伴自取。资料来自互联网整理,如有侵权,请联系删除!通过百度网盘分享的文件:(软考中级)信息系统管理工程师链接:https://pan.baidu.com/s/1mCdZSIJHIDcd8g1TY3rAag?pwd=ywxd提取码:ywxd通
2024最新外卖CPS分销微信小程序源码【前端+后台+数据库+分销功能】
云深不知处㊣
源码专区 微信小程序 小程序 外卖CPS分销微信小程序源码 CPS分销微信小程序源码
内容目录一、详细介绍二、效果展示三、源代码下载地址一、详细介绍外卖侠CPS全套源码是一款为外卖平台提供分销功能的微信小程序。用户可以通过你的链接去领取外卖红包,然后去下单点外卖,既能省钱,又能获得佣金。该小程序带有商城、影票、吃喝玩乐等多个模块,适合不同用户的需求。外卖CPS的势头猛得一塌糊涂,被称为23年最大的红利之一,也被称为2023最佳小白可实操项目。外卖公司的广告预算持续增加,因为比传统广
CSS利用@font-face使用自定义字符和图标
小前端2018
昨天发的一个教程被一顿喷,说已经不用图片了,什么图标字体啦,好桑心~~,但也是事实,现在的前端图片越来越少了,相应替换的是css以及图标字体,所以去探测了几个网站,找了一下style.css文件,看看具体的CSS内容,然后发现这是一个很有趣的问题。
【PostgreSQL】【第1章】入门&安装
cherry5230
数据库专栏 postgresql 数据库
1-PostgreSQL入门&安装1.今日安排核心内容:PostgreSQL简介与适用场景PostgreSQLvsMySQL核心差异Linux环境安装(非Docker)远程连接与日志配置基本操作:用户、数据库、权限管理2.PostgreSQL介绍2.1核心特性开源协议:基于BSD/MIT协议,支持二次封装商业化。版本选择:稳定版:12.x新特性版:14.x社区活跃:版本迭代快(约3个月一次),Bu
Doris实战——拈花云科的数据中台实践
吵吵叭火
大数据 # Doris 数据仓库 大数据
目录前言一、业务背景二、数据中台1.0—Lambda三、新架构的设计目标四、数据中台2.0—ApacheDoris4.1新架构数据流转4.2新架构收益五、新架构的落地实践5.1模型选择5.1.1Unique模型5.1.2Aggregate模型5.2资源管理5.3批量建表5.4计算实现5.4.1实时计算5.4.2准实时计算通过JavaUDF生成增量/全量数据基于Doris的大表优化DorisBork
分辨率、帧率、平均码率、视点数之间的区别与联系
Dream Algorithm
信息与通信 视频编解码 计算机视觉
这四项参数共同决定了视频内容的清晰度、流畅度、数据量以及3D/VR体验,但它们各自的作用和计算方式不同。以下是详细对比:1.分辨率(Resolution)定义表示视频画面的像素数量,通常以宽度×高度(如1920×1080)表示。例如:4K=3840×2160(约830万像素)16K=15360×14400(约2.2亿像素)影响✅清晰度:分辨率越高,画面越细腻(但受屏幕尺寸影响)。❌数据量:分辨率越
谷歌搜索的 AI 防守战,透露了什么新趋势?
在美的苦命程序员
人工智能
在AI搜索这一轮激烈竞逐中,谷歌这位“搜索一哥”正面临新旧对手的夹击:ChatGPT、Perplexity、Claude、Gemini……每一个看上去都野心勃勃、来势汹汹。但即便如此,数据显示,谷歌在全球搜索领域依然维持了89.5%的市场份额,网络访问量环比小幅增长1%。Gemini的月度用户增长更是达到了27%。这不仅是一场份额保卫战,更是谷歌对“搜索形态重塑”的深度试验。透过这场战役,我们也可
搭建网站选择阿里云服务器,云·速成美站,云·企业官网哪个更好?
阿里云最新优惠和活动汇总
很多企业和公司上云的第一步就是搭建自己的官网,搭建自己的官网是能够让客户看到公司的相关产品、服务和专业程度,很多对客户有价值的信息,都要通过企业网站传递到客户那里。随着阿里云服务器和建站产品的知名度越来越高,越来越多的用户选择阿里云的产品来搭建自己的官网。阿里云服务器,云·速成美站,云·企业官网最新优惠活动分享:阿里云新人特惠活动:云服务器0.6折起,云·速成美站500.00/年起,云·企业官网4
2025版最新黑客网站整理大全,全新整理黑客网站大全!收藏这一篇就够了_暗域网入口网址
爱吃小石榴16
网络 安全 前端 php 数据库
今天给大家分享一些学习网络安全的好去处。对于网络安全的学习,多逛论坛、阅读他人的技术分析帖是非常重要的。但有时候,初学者可能会感到迷茫,不知道去哪里寻找这些技术分析帖,也不知道有哪些相关的论坛或网站。所以,今天我就来给大家分享一些比较常见的国内安全论坛。1、黑客基地:http://www.hackbase.com/黑基网(WWW.HACKBASE.NET)成立于2003年,由IT精英和白帽黑客共同
3篇5章2节:绘制临床研究中的趋势图与ROC曲线
MD分析
用R探索医药数据科学 信息可视化 r语言 r语言-4.2.1 数据分析 趋势变化图 模型性能评估
在医学统计分析与数据科学实践中,趋势图与ROC曲线不仅是可视化的“门面担当”,更是揭示数据背后规律与诊断性能的核心工具。无论是观察血压、血糖等临床指标随时间或干预手段的变化,还是评估模型的判别能力与诊断准确性,一幅设计得当的图表,往往胜过千言万语。本文围绕R语言中两个功能强大的可视化函数展开,深入剖析它们在实际科研中的应用技巧与美化策略。通过案例演示与参数讲解,你将学会如何绘制清晰、美观、信息量丰
潍柴雷沃拟登创业板募50亿,逆变器供应商古瑞瓦特再次递表港交所
洞察IPO
作者:周绘出品:洞察IPO上交所&深交所新股上市3月20日-3月26日,上交所主板有1家公司上市;深交所创业板有3家公司上市。数据来源:公开信息;图表制作:洞察IPO1.宿迁联盛:主要业务为高分子材料防老化助剂及其中间体的研发、生产与销售,主要产品包括受阻胺光稳定剂、复配助剂、中间体、阻聚剂等,上市首日收涨43.98%。数据来源:公开信息;图表制作:洞察IPO1.宏源药业:主要从事有机化学原料、医
FastAPI 中,数据库模型(通常使用 SQLAlchemy 定义)和接口模型(使用 Pydantic 定义的 schemas)的差异
在FastAPI中,数据库模型(通常使用SQLAlchemy定义)和接口模型(使用Pydantic定义的schemas)虽然都用于表示数据结构,但它们有明确的职责区分。以下是它们的核心区别和协作方式:1.数据库模型(Models)位置:通常在models.py中定义技术:使用SQLAlchemyORM目的:直接映射数据库表结构,处理数据库操作特点:fromsqlalchemyimportColum
摩根士丹利:到2028年,AI投资将推动科技巨头新增1.5万亿美元债务——信贷市场如何填补这一缺口?
在美的苦命程序员
人工智能 科技
在AI技术快速发展与全球数字化转型的推动下,AI基础设施建设正成为一项巨大的资本需求。摩根士丹利最新的报告指出,到2028年,全球数据中心建设的投资将需要接近2.9万亿美元,其中大部分资金将集中在AI计算与云基础设施的建设上。而最引人注目的是,尽管超大规模云服务商(如亚马逊AWS、微软Azure等)已将大部分资金投入到AI技术基础设施中,但依然存在1.5万亿美元的融资缺口。1️⃣全球AI基础设施的
自由写作(5分钟)
摇曳生姿云
啃叶嘉莹老先生的《唐宋词十七讲》,进展比较慢,有时甚至会有翻上十几页都如春秋大梦般了无痕迹。这,也真是一种奇特的体验。刚好,手上又有黄梵老师的《意象的帝国》,于是,同时进行,发现还蛮好玩的。才读到《写作的真实过程》这节,黄老师在这一小节中提到:真实的写作过程,如同生命的进化过程,并没有“最终的形式”,每写一稿,都是作者暂时拼搏的结果……他几乎推翻了写作腹稿一说,提倡利用潜意识用自动写作的方法充分感
抄书真的能赚钱吗?头条号抄书赚钱攻略,附带操作方法
氧惠全网优惠
最近有很多人分享,有人在今日头条靠“抄书赚钱”的办法,而且一天一两百元,效果那是相当的不错,经过仔细研究才知道,原来是真抄书,把书中的精华内容,手抄下来。看到效果还不错,而且门槛相当的低,所以今天今天跟大家分享两个低门槛赚钱的方法,这个两个赚钱玩法也是比较适合零基础的宝妈、学生党、上班族利用闲暇的时间去做,一个月多赚小几千轻轻松松。一、淘宝客赚钱无需成本的淘客平台,高省APP就是最好的选择。不需要
【华为OD机试真题 Python语言】135、采样过滤 | 机试真题+思路参考+代码解析
KFickle
华为od python 华为 华为OD机试真题 采样过滤
文章目录一、题目题目描述输入输出样例1二、思路参考三、代码参考作者:鲨鱼狼臧个人博客首页:鲨鱼狼臧专栏介绍:2024华为OD机试真题,使用Python进行解答,专栏每篇文章都包括真题,思路参考,代码分析,思路参考超过百字,欢迎大家订阅学习一、题目题目描述在做物理实验时,为了计算物体移动的速率,通过相机等工具周期性的采样物体移动距离。由于工具故障,采样数据存在误差甚至相误的情况。需要通过一个算法过滤
ASM系列五 利用TreeApi 解析生成Class
lijingyao8206
ASM 字节码动态生成 ClassNode TreeAPI
前面CoreApi的介绍部分基本涵盖了ASMCore包下面的主要API及功能,其中还有一部分关于MetaData的解析和生成就不再赘述。这篇开始介绍ASM另一部分主要的Api。TreeApi。这一部分源码是关联的asm-tree-5.0.4的版本。
在介绍前,先要知道一点, Tree工程的接口基本可以完
链表树——复合数据结构应用实例
bardo
数据结构 树型结构 表结构设计 链表 菜单排序
我们清楚:数据库设计中,表结构设计的好坏,直接影响程序的复杂度。所以,本文就无限级分类(目录)树与链表的复合在表设计中的应用进行探讨。当然,什么是树,什么是链表,这里不作介绍。有兴趣可以去看相关的教材。
需求简介:
经常遇到这样的需求,我们希望能将保存在数据库中的树结构能够按确定的顺序读出来。比如,多级菜单、组织结构、商品分类。更具体的,我们希望某个二级菜单在这一级别中就是第一个。虽然它是最后
为啥要用位运算代替取模呢
chenchao051
位运算 哈希 汇编
在hash中查找key的时候,经常会发现用&取代%,先看两段代码吧,
JDK6中的HashMap中的indexFor方法:
/**
* Returns index for hash code h.
*/
static int indexFor(int h, int length) {
最近的情况
麦田的设计者
生活 感悟 计划 软考 想
今天是2015年4月27号
整理一下最近的思绪以及要完成的任务
1、最近在驾校科目二练车,每周四天,练三周。其实做什么都要用心,追求合理的途径解决。为
PHP去掉字符串中最后一个字符的方法
IT独行者
PHP 字符串
今天在PHP项目开发中遇到一个需求,去掉字符串中的最后一个字符 原字符串1,2,3,4,5,6, 去掉最后一个字符",",最终结果为1,2,3,4,5,6 代码如下:
$str = "1,2,3,4,5,6,";
$newstr = substr($str,0,strlen($str)-1);
echo $newstr;
hadoop在linux上单机安装过程
_wy_
linux hadoop
1、安装JDK
jdk版本最好是1.6以上,可以使用执行命令java -version查看当前JAVA版本号,如果报命令不存在或版本比较低,则需要安装一个高版本的JDK,并在/etc/profile的文件末尾,根据本机JDK实际的安装位置加上以下几行:
export JAVA_HOME=/usr/java/jdk1.7.0_25  
JAVA进阶----分布式事务的一种简单处理方法
无量
多系统交互 分布式 事务
每个方法都是原子操作:
提供第三方服务的系统,要同时提供执行方法和对应的回滚方法
A系统调用B,C,D系统完成分布式事务
=========执行开始========
A.aa();
try {
B.bb();
} catch(Exception e) {
A.rollbackAa();
}
try {
C.cc();
} catch(Excep
安墨移动广 告:移动DSP厚积薄发 引领未来广 告业发展命脉
矮蛋蛋
hadoop 互联网
“谁掌握了强大的DSP技术,谁将引领未来的广 告行业发展命脉。”2014年,移动广 告行业的热点非移动DSP莫属。各个圈子都在纷纷谈论,认为移动DSP是行业突破点,一时间许多移动广 告联盟风起云涌,竞相推出专属移动DSP产品。
到底什么是移动DSP呢?
DSP(Demand-SidePlatform),就是需求方平台,为解决广 告主投放的各种需求,真正实现人群定位的精准广
myelipse设置
alafqq
IP
在一个项目的完整的生命周期中,其维护费用,往往是其开发费用的数倍。因此项目的可维护性、可复用性是衡量一个项目好坏的关键。而注释则是可维护性中必不可少的一环。
注释模板导入步骤
安装方法:
打开eclipse/myeclipse
选择 window-->Preferences-->JAVA-->Code-->Code
java数组
百合不是茶
java数组
java数组的 声明 创建 初始化; java支持C语言
数组中的每个数都有唯一的一个下标
一维数组的定义 声明: int[] a = new int[3];声明数组中有三个数int[3]
int[] a 中有三个数,下标从0开始,可以同过for来遍历数组中的数
javascript读取表单数据
bijian1013
JavaScript
利用javascript读取表单数据,可以利用以下三种方法获取:
1、通过表单ID属性:var a = document.getElementByIdx_x_x("id");
2、通过表单名称属性:var b = document.getElementsByName("name");
3、直接通过表单名字获取:var c = form.content.
探索JUnit4扩展:使用Theory
bijian1013
java JUnit Theory
理论机制(Theory)
一.为什么要引用理论机制(Theory)
当今软件开发中,测试驱动开发(TDD — Test-driven development)越发流行。为什么 TDD 会如此流行呢?因为它确实拥有很多优点,它允许开发人员通过简单的例子来指定和表明他们代码的行为意图。
TDD 的优点:
&nb
[Spring Data Mongo一]Spring Mongo Template操作MongoDB
bit1129
template
什么是Spring Data Mongo
Spring Data MongoDB项目对访问MongoDB的Java客户端API进行了封装,这种封装类似于Spring封装Hibernate和JDBC而提供的HibernateTemplate和JDBCTemplate,主要能力包括
1. 封装客户端跟MongoDB的链接管理
2. 文档-对象映射,通过注解:@Document(collectio
【Kafka八】Zookeeper上关于Kafka的配置信息
bit1129
zookeeper
问题:
1. Kafka的哪些信息记录在Zookeeper中 2. Consumer Group消费的每个Partition的Offset信息存放在什么位置
3. Topic的每个Partition存放在哪个Broker上的信息存放在哪里
4. Producer跟Zookeeper究竟有没有关系?没有关系!!!
//consumers、config、brokers、cont
java OOM内存异常的四种类型及异常与解决方案
ronin47
java OOM 内存异常
OOM异常的四种类型:
一: StackOverflowError :通常因为递归函数引起(死递归,递归太深)。-Xss 128k 一般够用。
二: out Of memory: PermGen Space:通常是动态类大多,比如web 服务器自动更新部署时引起。-Xmx
java-实现链表反转-递归和非递归实现
bylijinnan
java
20120422更新:
对链表中部分节点进行反转操作,这些节点相隔k个:
0->1->2->3->4->5->6->7->8->9
k=2
8->1->6->3->4->5->2->7->0->9
注意1 3 5 7 9 位置是不变的。
解法:
将链表拆成两部分:
a.0-&
Netty源码学习-DelimiterBasedFrameDecoder
bylijinnan
java netty
看DelimiterBasedFrameDecoder的API,有举例:
接收到的ChannelBuffer如下:
+--------------+
| ABC\nDEF\r\n |
+--------------+
经过DelimiterBasedFrameDecoder(Delimiters.lineDelimiter())之后,得到:
+-----+----
linux的一些命令 -查看cc攻击-网口ip统计等
hotsunshine
linux
Linux判断CC攻击命令详解
2011年12月23日 ⁄ 安全 ⁄ 暂无评论
查看所有80端口的连接数
netstat -nat|grep -i '80'|wc -l
对连接的IP按连接数量进行排序
netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n
查看TCP连接状态
n
Spring获取SessionFactory
ctrain
sessionFactory
String sql = "select sysdate from dual";
WebApplicationContext wac = ContextLoader.getCurrentWebApplicationContext();
String[] names = wac.getBeanDefinitionNames();
for(int i=0; i&
Hive几种导出数据方式
daizj
hive 数据导出
Hive几种导出数据方式
1.拷贝文件
如果数据文件恰好是用户需要的格式,那么只需要拷贝文件或文件夹就可以。
hadoop fs –cp source_path target_path
2.导出到本地文件系统
--不能使用insert into local directory来导出数据,会报错
--只能使用
编程之美
dcj3sjt126com
编程 PHP 重构
我个人的 PHP 编程经验中,递归调用常常与静态变量使用。静态变量的含义可以参考 PHP 手册。希望下面的代码,会更有利于对递归以及静态变量的理解
header("Content-type: text/plain");
function static_function () {
static $i = 0;
if ($i++ < 1
Android保存用户名和密码
dcj3sjt126com
android
转自:http://www.2cto.com/kf/201401/272336.html
我们不管在开发一个项目或者使用别人的项目,都有用户登录功能,为了让用户的体验效果更好,我们通常会做一个功能,叫做保存用户,这样做的目地就是为了让用户下一次再使用该程序不会重新输入用户名和密码,这里我使用3种方式来存储用户名和密码
1、通过普通 的txt文本存储
2、通过properties属性文件进行存
Oracle 复习笔记之同义词
eksliang
Oracle 同义词 Oracle synonym
转载请出自出处:http://eksliang.iteye.com/blog/2098861
1.什么是同义词
同义词是现有模式对象的一个别名。
概念性的东西,什么是模式呢?创建一个用户,就相应的创建了 一个模式。模式是指数据库对象,是对用户所创建的数据对象的总称。模式对象包括表、视图、索引、同义词、序列、过
Ajax案例
gongmeitao
Ajax jsp
数据库采用Sql Server2005
项目名称为:Ajax_Demo
1.com.demo.conn包
package com.demo.conn;
import java.sql.Connection;import java.sql.DriverManager;import java.sql.SQLException;
//获取数据库连接的类public class DBConnec
ASP.NET中Request.RawUrl、Request.Url的区别
hvt
.net Web C# asp.net hovertree
如果访问的地址是:http://h.keleyi.com/guestbook/addmessage.aspx?key=hovertree%3C&n=myslider#zonemenu那么Request.Url.ToString() 的值是:http://h.keleyi.com/guestbook/addmessage.aspx?key=hovertree<&
SVG 教程 (七)SVG 实例,SVG 参考手册
天梯梦
svg
SVG 实例 在线实例
下面的例子是把SVG代码直接嵌入到HTML代码中。
谷歌Chrome,火狐,Internet Explorer9,和Safari都支持。
注意:下面的例子将不会在Opera运行,即使Opera支持SVG - 它也不支持SVG在HTML代码中直接使用。 SVG 实例
SVG基本形状
一个圆
矩形
不透明矩形
一个矩形不透明2
一个带圆角矩
事务管理
luyulong
java spring 编程 事务
事物管理
spring事物的好处
为不同的事物API提供了一致的编程模型
支持声明式事务管理
提供比大多数事务API更简单更易于使用的编程式事务管理API
整合spring的各种数据访问抽象
TransactionDefinition
定义了事务策略
int getIsolationLevel()得到当前事务的隔离级别
READ_COMMITTED
基础数据结构和算法十一:Red-black binary search tree
sunwinner
Algorithm Red-black
The insertion algorithm for 2-3 trees just described is not difficult to understand; now, we will see that it is also not difficult to implement. We will consider a simple representation known
centos同步时间
stunizhengjia
linux 集群同步时间
做了集群,时间的同步就显得非常必要了。 以下是查到的如何做时间同步。 在CentOS 5不再区分客户端和服务器,只要配置了NTP,它就会提供NTP服务。 1)确认已经ntp程序包: # yum install ntp 2)配置时间源(默认就行,不需要修改) # vi /etc/ntp.conf server pool.ntp.o
ITeye 9月技术图书有奖试读获奖名单公布
ITeye管理员
ITeye
ITeye携手博文视点举办的9月技术图书有奖试读活动已圆满结束,非常感谢广大用户对本次活动的关注与参与。 9月试读活动回顾:http://webmaster.iteye.com/blog/2118112本次技术图书试读活动的优秀奖获奖名单及相应作品如下(优秀文章有很多,但名额有限,没获奖并不代表不优秀):
《NFC:Arduino、Andro