标签下;标签中包含:开奖日期/期号/蓝色中奖号码/红色中奖号码等信息。
步骤四:编写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
你可能感兴趣的:(编程语言,Python,Python)
从 0 到 1 构建 Python 分布式爬虫,实现搜索引擎全攻略
七七知享
Python python 分布式 爬虫 搜索引擎 算法 程序人生 网络爬虫
从0到1构建Python分布式爬虫,实现搜索引擎全攻略在大数据与信息爆炸的时代,搜索引擎已然成为人们获取信息的关键入口。你是否好奇,像百度、谷歌这般强大的搜索引擎,背后是如何精准且高效地抓取海量网页数据的?本文将带你一探究竟,以Python为工具,打造属于自己的分布式爬虫,进而搭建一个简易搜索引擎,完整呈现从底层代码编写到系统搭建的全过程。通过本文的实践,我们成功打造了Python分布式爬虫,并以
编程语言选择分析:C#、Rust、Go 与 TypeScript 编译器优化
互联网搬砖老肖
工具使用 原力计划 c# rust golang
编程语言选择分析:C#、Rust、Go与TypeScript编译器优化在讨论编程语言的选择时,特别是针对微软的C#和Rust,以及谷歌的Go语言,以及微软试图通过Go来拯救TypeScript编译器的问题,我们可以从多个角度来分析和理解。首先,我们来逐一分析这些语言的特点和它们各自的应用场景。1.C#C#是微软开发的一种面向对象的编程语言,它是.NET框架的核心部分。C#广泛用于Windows应用
Flink启动任务
swg321321
flink 大数据
Flink以本地运行作为解读例如:第一章Python机器学习入门之pandas的使用提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录Flink前言StreamExecutionEnvironmentLocalExecutorMiniClusterStreamGraph二、使用步骤1.引入库2.读入数据总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发
python中Flask模块的使用
weixin_30315905
python json
1.简介在服务器上运行Flask接口,就能使用requests模块获取该接口的值。先运行接口文件,再运行requests文件,即可获取值。2.示例2.1一个简单的flask接口1importjson2fromflaskimportFlask,request34#python类型5data={6'name':'John',7'age':18,8'location':'nanjing'910}1112
计算机专业毕业设计题目推荐(新颖选题)本科计算机人工智能专业相关毕业设计选题大全✅
会写代码的羊
毕设选题 课程设计 人工智能 毕业设计 毕设题目 毕业设计题目 ai AI编程
文章目录前言最新毕设选题(建议收藏起来)本科计算机人工智能专业相关的毕业设计选题毕设作品推荐前言2025全新毕业设计项目博主介绍:✌全网粉丝10W+,CSDN全栈领域优质创作者,博客之星、掘金/华为云/阿里云等平台优质作者。技术范围:SpringBoot、Vue、SSM、HLMT、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、小程序、大数据、机器学习等设计与开发。主要内容:免费功能
python中的静态方法
绛洞花主敏明
python
问题:pycharm中建立新的方法,出现如下的警告:在python中建立类一般使用如下的方法:classDog(object):defrun(self):print("running")run方法是类中的普通方法声明和创建静态方法,在方法上加上staticmethod注明一下classDog(object):@staticmethoddefrun(self):print("running")如下的
一文弄懂Python 变量初始化与内存管理
宇寒风暖
python编程 python 开发语言 笔记 学习
在Python中,变量的初始化并不一定会开辟新的内存空间。Python的内存管理机制非常灵活,它会根据变量的值、类型以及Python的内部优化策略来决定是否复用已有的内存空间。1.变量初始化的基本概念在Python中,变量是对象的引用。当你初始化一个变量时,Python会执行以下操作:创建一个对象(如果该对象不存在)。将变量名绑定到该对象。例如:a=10b="hello"a是一个整数对象的引用。b
python静态方法_Python静态方法
cunchi4221
python java 深度学习 设计模式 javascript ViewUI
python静态方法Python静态方法(Pythonstaticmethod)Inthisquickpost,wewilllearnhowtocreateanduseaPythonstaticmethod.Wewillalsohavealookatwhatadvantagesanddisadvantagesstaticmethodsofferascomparedtotheinstancemeth
python中的类方法,静态方法,对象方法
a174817529
原文地址:http://blog.chinaunix.net/uid-26602509-id-3087296.htmlclassA:count=100def__init__(self,instancedata):self.instancedata=instancedata@staticmethod#静态方法不能访问类参数和实例参数defsm():print"sm"@classmethod#类方法不
Python 静态方法和类方法
a540366413
Python python
静态方法我们知道在其他语言中静态方法一般使用static修饰,静态方法的主要特点是不需要new出对象,直接通过类名就可以访问,也可以通过对象访问。需要使用staticmethod装饰器装饰方法举例:classA:@staticmethoddefstaticfunc():print("A")A.staticfunc()#A类方法类方法和静态方法类似,也可以直接通过类名访问,不过要使用classmet
Python静态方法
Frank_Yee
python
在Python中,静态方法是一种不会自动接收类(cls)或实例(self)作为第一个参数的方法。它可以通过类直接调用,而不需要类的实例。静态方法通常用于实现与当前类的对象状态无关的功能,或者提供一些通用的工具函数。一、使用场景1.工具函数:当方法不需要访问对象属性或类属性时,可以将其定义为静态方法。2.常量类:有时候,你可能需要一个类仅仅作为一个容器,用来存储常量。3.工厂方法:在某些情况下,你可
day11 学习笔记
豆豆
学习 笔记 python
文章目录前言一、类方法二、静态方法三、构造方法四、魔术方法前言通过今天的学习,我掌握了更多Python中有关面向对象编程思想中方法的概念与操作,包括类方法,静态方法,构造方法,魔术方法一、类方法类方法是属于类的行为,一般使用类而非对象进行调用类方法需要使用@classmethod装饰器定义类方法至少有一个形参用于绑定类,约定为cls类和该类的实例都可以调用类方法,但一般不用实例进行调用类方法不能访
Python 正则表达式小结1
大收藏家
Python 正则表达式 python
[声明]:本文参考了白夜黑雨老师的网页讲解。如有侵权,请与我联系!!!Python正则表达式小结11.正则表达式验证2.特殊元字符及含义3匹配某种字符类型4.正则表达式举例大收藏家说1.正则表达式验证提供两个网站用于正则表达式的验证,可以敲入文本与正则表达式。通过该网站,验证正则表达式的正确性。非常好用!英文网站中文网站2.特殊元字符及含义元字符含义.表示要匹配除了换行符之外的任何单个字符*星号-
python离线语音转文本_使用Python将语音转换为文本的方法
weixin_39760619
python离线语音转文本
使用Python将语音转换为文本的方法,语音,转换为,文本,您的,麦克风使用Python将语音转换为文本的方法易采站长站,站长之家为您整理了使用Python将语音转换为文本的方法的相关内容。语音识别是计算机软件识别口语中的单词和短语,并将其转换为可读文本的能力。那么如何在Python中将语音转换为文本?如何使用SpeechRecognition库在Python中将语音转换为文本?我们不需要从头开始
Open-Sora - 为所有人实现高效的视频制作大众化
小众AI
AI开源 音视频 人工智能 AI编程
GitHub:https://github.com/hpcaitech/Open-Sora更多AI开源软件:发现分享好用的AI工具、AI开源软件、AI模型、AI变现-小众AI这是一款开源的SOTA(State-of-the-Art)视频生成模型,仅用20万美元(224张GPU)就能训练出商业级11B参数的视频生成大模型。它采用Python语言和PyTorch深度学习框架开发,具有生成速度快、资源消
8、Python 字符串处理与正则表达式实战指南
wolf犭良
python python 正则表达式
Python字符串处理与正则表达式实战指南文章概述本文深入探讨Python字符串处理核心方法与正则表达式实战技巧,涵盖字符串编码转换、分割替换、正则表达式语法精髓,并通过日志解析、数据清洗等真实场景案例展示高阶应用。最后提供10道阶梯式练习题(附完整答案代码),助你从基础到进阶全面掌握文本处理技能。一、字符串处理核心三剑客1.1编码转换(encode/decode)text="中文文本"utf8_
deepseek api参数详解
孽小倩
大语言模型 python java 前端 人工智能 deepseek
deepseek的参数与openai保持兼容,所以openai能用的参数deepseek都可以使用,以下是常用的参数介绍。在使用Deepseek/OpenAI的PythonAPI时,最常用的API端点是chat/completions,用于调用deepseek生成文本对话内容。以下是openai.ChatCompletion.create()方法的主要参数及其作用:1.model作用:指定使用的模
算法基础——蓝桥杯(python实现,实际上大多数用c++更明白易懂)(第一部分,共12个小题)
New_Teen
算法 蓝桥杯 python
1.成绩统计问题描述:编写一个程序,建立一个字典,每个字典包含姓名、学号、英语成绩、数学成绩和C++成绩,并通过字典操作平均分最高的学生和平均分最低的学生并且输出。输入格式:输入n+1行,第一行输入一个正整数n,表示学生数量;接下来的n行每行输入5个数据,分别表示姓名、学号、英语成绩、数学成绩和C++成绩。注意成绩有可能会有小数。输出格式:输出两行,第一行输出平均成绩最高的学生姓名。第二行输出平均
Python(正则表达式)
羡江007
Python进阶 python 正则表达式 开发语言
re模块#在Python中需要通过正则表达式对字符串进行匹配的时候,可以使用一个re模块'''re模块三步走#第一步:导入re模块importre#第二步:使用match方法进行匹配操作result=re.match(pattern正则表达式,string要匹配的字符串,flags=0)#第三步:如果数据匹配成功,使用group方法来提取数据result.group()re.match(patte
Ubuntu20.04安装并配置Pycharm2020.2.5
搬砖的打工人!!!
ubuntu pycharm python
一.下载pycharm社区版1.下载地址:PyCharm:thePythonIDEfordatascienceandwebdevelopmentThePythonIDEfordatascienceandwebdevelopmentwithintelligentcodecompletion,on-the-flyerrorchecking,quick-fixes,andmuchmore.https:/
使用python中you-get库实现下载网抑云
瞎老弟
python python 音视频 爬虫
WYY音乐下载前言代码实现使用说明前言前几天,我做了b站视频的下载,有好兄弟表示,只下载视频,不能够让人满足,我还希望能够下载网易云的音乐。上一次在我发布的b站视频下载中,使用了you-get库作为下载方式,但是实际上,这个库也可以下载网易云音乐,因此,我们只需要参考我们上次的b站视频下载,简单的进行一下修改,就可以完成音乐的下载了。为了能够更加方便的批量下载音乐,这里采用了“按艺术家“的下载方式
Python用Pyqt5制作音乐播放器
Aix959
python 开发语言
具体效果如下需要实现的功能主要的几个有:1、搜索结果更新至当前音乐的列表,这样播放下一首是搜素结果的下一首2、自动播放3、滚动音乐文本4、音乐进度条5、根据实际情况生成音乐列表。我这里的是下面的情况,音乐文件的格式是歌名_歌手.mp3所以根据需求修改find_mp3_files方法,我这里返回的是[{"path":音乐文件路径,"music":歌名,"singer":歌手},{"path":音乐文
使用vscode远程连接linux运行项目报错解决方案
大数据lsy
笔记 vscode linux python
报错:subprocess.CalledProcessError:Command'['/xxx/anaconda3/envs/graphinvent/bin/python','./graphinvent/main.py','--job-dir','/xxx/GraphINVENT/output_gdb13_1K/example/job_0/']'returnednon-zeroexitstatus
代码管理工具——SVN
weixin_33728708
git 开发工具 python
2019独角兽企业重金招聘Python工程师标准>>>SVN版本控制的作用:记录若干文件内容变化,以便将来查阅特定版本修订情况。版本管理工具发展简史,cvs-->svn-->Git(参考:http://luckypoem14.github.io/test/2012/04/24/scm-history/)。svn全称subversion,是一个开源版本控制系统(C/S架构),始于2000年;git(
jieba库词频统计_jieba分词器(应用及字典的补充)及文档高频词提取实战
袁圆园建建
jieba库词频统计
jieba分词器是Python中最好的中文分词组件,本文讲解一下jieba分词器及其应用。1、jieba分词器的分词模式jieba分词器提供了三种常用的分词模式1、精确模式:将句子按照最精确的方法进行切分,适合用于进行文本分析;2、全模式:将句子当中所有可以成词的词语都扫描出来,分词速度很快但容易产生歧义;3、搜索引擎模式:在精确模式分词的基础上,将长的句子再次进行切分,提高召回率,适用于搜索引擎
【LeetCode 热题 100】3. 无重复字符的最长子串 | python 【中等】
一只小白跳起来
leetcode java 算法 开发语言
美美超过管解题目:3.无重复字符的最长子串给定一个字符串s,请你找出其中不含有重复字符的最长的长度。示例1:输入:s="abcabcbb"输出:3解释:因为无重复字符的最长子串是"abc",所以其长度为3。注意:考虑空字符串问题有重复之后要在重复的那个后面新建序列,减少时间,故需要列表储存(标准做法里用的集合捏)标准做法:把重复的set.remove(),a指针步进,没有重复的话,b指针一直步进怎
并发爬虫实战:多线程高效抓取王者荣耀全英雄皮肤
YiFoEr_Liu
爬虫案例实操 爬虫部署 python 爬虫 python 大数据
一、场景与挑战在网络爬虫开发中,我们常常面临以下挑战:需要处理成百上千个页面的数据抓取目标服务器存在反爬机制和请求频率限制单线程模式下载效率低下,难以充分利用带宽本文以王者荣耀英雄皮肤下载为例(日访问量超过1亿的热门游戏),演示如何通过Python并发编程实现高效数据抓取。二、技术选型分析2.1为什么选择并发线程?I/O密集型场景:网络请求占比90%以上GIL限制:Python线程适合I/O密集型
使用提示词进行信息抽取的实用方法
scaFHIO
windows python
在大规模语言模型(LLM)中进行信息抽取时,我们不一定需要工具调用功能。通过精心设计的提示词(prompt)可以指导模型输出特定格式的信息,然后对其进行解析以生成结构化数据。这种方法依赖于创建良好的提示词,并将LLM的输出解析为所需的Python对象。技术背景介绍大规模语言模型可以根据提示词生成特定格式的文本。例如,我们可以要求模型以JSON格式输出所需的信息。在信息抽取的场景中,设计良好的提示词
深入解析Python测试框架pytest
一休哥助手
python python pytest 开发语言
目录引言pytest简介安装与配置安装pytest配置pytest基础用法编写测试用例运行测试用例测试结果报告
怎么进入python 的venv文件夹_python虚拟环境模块venv使用及示例
weixin_39796140
怎么进入python 的venv文件夹
相信只要学习python的同学对于虚拟环境这个概念肯定不会太陌生,虚拟环境指的是一个个单独隔离的python开发环境。各个虚拟环境之间互不干扰,都有自己独立的开发包。就像是在电脑上装了很多个虚拟机,每个虚拟机里面你随便折腾,不会影响到物理机,也不会影响到其他虚拟机。既然这么有用,那么Python里面用来创建虚拟环境的模块virtualenv是怎么使用的呢?我们一起来看一下。virtualenv基本
PHP,安卓,UI,java,linux视频教程合集
cocos2d-x小菜
java UI PHP android linux
╔-----------------------------------╗┆
各表中的列名必须唯一。在表 'dbo.XXX' 中多次指定了列名 'XXX'。
bozch
.net .net mvc
在.net mvc5中,在执行某一操作的时候,出现了如下错误:
各表中的列名必须唯一。在表 'dbo.XXX' 中多次指定了列名 'XXX'。
经查询当前的操作与错误内容无关,经过对错误信息的排查发现,事故出现在数据库迁移上。
回想过去: 在迁移之前已经对数据库进行了添加字段操作,再次进行迁移插入XXX字段的时候,就会提示如上错误。
&
Java 对象大小的计算
e200702084
java
Java对象的大小
如何计算一个对象的大小呢?
 
Mybatis Spring
171815164
mybatis
ApplicationContext ac = new ClassPathXmlApplicationContext("applicationContext.xml");
CustomerService userService = (CustomerService) ac.getBean("customerService");
Customer cust
JVM 不稳定参数
g21121
jvm
-XX 参数被称为不稳定参数,之所以这么叫是因为此类参数的设置很容易引起JVM 性能上的差异,使JVM 存在极大的不稳定性。当然这是在非合理设置的前提下,如果此类参数设置合理讲大大提高JVM 的性能及稳定性。 可以说“不稳定参数”
用户自动登录网站
永夜-极光
用户
1.目标:实现用户登录后,再次登录就自动登录,无需用户名和密码
2.思路:将用户的信息保存为cookie
每次用户访问网站,通过filter拦截所有请求,在filter中读取所有的cookie,如果找到了保存登录信息的cookie,那么在cookie中读取登录信息,然后直接
centos7 安装后失去win7的引导记录
程序员是怎么炼成的
操作系统
1.使用root身份(必须)打开 /boot/grub2/grub.cfg 2.找到 ### BEGIN /etc/grub.d/30_os-prober ### 在后面添加 menuentry "Windows 7 (loader) (on /dev/sda1)" { 
Oracle 10g 官方中文安装帮助文档以及Oracle官方中文教程文档下载
aijuans
oracle
Oracle 10g 官方中文安装帮助文档下载:http://download.csdn.net/tag/Oracle%E4%B8%AD%E6%96%87API%EF%BC%8COracle%E4%B8%AD%E6%96%87%E6%96%87%E6%A1%A3%EF%BC%8Coracle%E5%AD%A6%E4%B9%A0%E6%96%87%E6%A1%A3 Oracle 10g 官方中文教程
JavaEE开源快速开发平台G4Studio_V3.2发布了
無為子
AOP oracle mysql javaee G4Studio
我非常高兴地宣布,今天我们最新的JavaEE开源快速开发平台G4Studio_V3.2版本已经正式发布。大家可以通过如下地址下载。
访问G4Studio网站
http://www.g4it.org
G4Studio_V3.2版本变更日志
功能新增
(1).新增了系统右下角滑出提示窗口功能。
(2).新增了文件资源的Zip压缩和解压缩
Oracle常用的单行函数应用技巧总结
百合不是茶
日期函数 转换函数(核心) 数字函数 通用函数(核心) 字符函数
单行函数; 字符函数,数字函数,日期函数,转换函数(核心),通用函数(核心)
一:字符函数:
.UPPER(字符串) 将字符串转为大写
.LOWER (字符串) 将字符串转为小写
.INITCAP(字符串) 将首字母大写
.LENGTH (字符串) 字符串的长度
.REPLACE(字符串,'A','_') 将字符串字符A转换成_
Mockito异常测试实例
bijian1013
java 单元测试 mockito
Mockito异常测试实例:
package com.bijian.study;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
import org.junit.Assert;
import org.junit.Test;
import org.mockito.
GA与量子恒道统计
Bill_chen
JavaScript 浏览器 百度 Google 防火墙
前一阵子,统计**网址时,Google Analytics(GA) 和量子恒道统计(也称量子统计),数据有较大的偏差,仔细找相关资料研究了下,总结如下:
为何GA和量子网站统计(量子统计前身为雅虎统计)结果不同?
首先:没有一种网站统计工具能保证百分之百的准确出现该问题可能有以下几个原因:(1)不同的统计分析系统的算法机制不同;(2)统计代码放置的位置和前后
【Linux命令三】Top命令
bit1129
linux命令
Linux的Top命令类似于Windows的任务管理器,可以查看当前系统的运行情况,包括CPU、内存的使用情况等。如下是一个Top命令的执行结果:
top - 21:22:04 up 1 day, 23:49, 1 user, load average: 1.10, 1.66, 1.99
Tasks: 202 total, 4 running, 198 sl
spring四种依赖注入方式
白糖_
spring
平常的java开发中,程序员在某个类中需要依赖其它类的方法,则通常是new一个依赖类再调用类实例的方法,这种开发存在的问题是new的类实例不好统一管理,spring提出了依赖注入的思想,即依赖类不由程序员实例化,而是通过spring容器帮我们new指定实例并且将实例注入到需要该对象的类中。依赖注入的另一种说法是“控制反转”,通俗的理解是:平常我们new一个实例,这个实例的控制权是我
angular.injector
boyitech
AngularJS AngularJS API
angular.injector
描述: 创建一个injector对象, 调用injector对象的方法可以获得angular的service, 或者用来做依赖注入. 使用方法: angular.injector(modules, [strictDi]) 参数详解: Param Type Details mod
java-同步访问一个数组Integer[10],生产者不断地往数组放入整数1000,数组满时等待;消费者不断地将数组里面的数置零,数组空时等待
bylijinnan
Integer
public class PC {
/**
* 题目:生产者-消费者。
* 同步访问一个数组Integer[10],生产者不断地往数组放入整数1000,数组满时等待;消费者不断地将数组里面的数置零,数组空时等待。
*/
private static final Integer[] val=new Integer[10];
private static
使用Struts2.2.1配置
Chen.H
apache spring Web xml struts
Struts2.2.1 需要如下 jar包: commons-fileupload-1.2.1.jar commons-io-1.3.2.jar commons-logging-1.0.4.jar freemarker-2.3.16.jar javassist-3.7.ga.jar ognl-3.0.jar spring.jar
struts2-core-2.2.1.jar struts2-sp
[职业与教育]青春之歌
comsci
教育
每个人都有自己的青春之歌............但是我要说的却不是青春...
大家如果在自己的职业生涯没有给自己以后创业留一点点机会,仅仅凭学历和人脉关系,是难以在竞争激烈的市场中生存下去的....
&nbs
oracle连接(join)中使用using关键字
daizj
JOIN oracle sql using
在oracle连接(join)中使用using关键字
34. View the Exhibit and examine the structure of the ORDERS and ORDER_ITEMS tables.
Evaluate the following SQL statement:
SELECT oi.order_id, product_id, order_date
FRO
NIO示例
daysinsun
nio
NIO服务端代码:
public class NIOServer {
private Selector selector;
public void startServer(int port) throws IOException {
ServerSocketChannel serverChannel = ServerSocketChannel.open(
C语言学习homework1
dcj3sjt126com
c homework
0、 课堂练习做完
1、使用sizeof计算出你所知道的所有的类型占用的空间。
int x;
sizeof(x);
sizeof(int);
# include <stdio.h>
int main(void)
{
int x1;
char x2;
double x3;
float x4;
printf(&quo
select in order by , mysql排序
dcj3sjt126com
mysql
If i select like this:
SELECT id FROM users WHERE id IN(3,4,8,1);
This by default will select users in this order
1,3,4,8,
I would like to select them in the same order that i put IN() values so:
页面校验-新建项目
fanxiaolong
页面校验
$(document).ready(
function() {
var flag = true;
$('#changeform').submit(function() {
var projectScValNull = true;
var s ="";
var parent_id = $("#parent_id").v
Ehcache(02)——ehcache.xml简介
234390216
ehcache ehcache.xml 简介
ehcache.xml简介
ehcache.xml文件是用来定义Ehcache的配置信息的,更准确的来说它是定义CacheManager的配置信息的。根据之前我们在《Ehcache简介》一文中对CacheManager的介绍我们知道一切Ehcache的应用都是从CacheManager开始的。在不指定配置信
junit 4.11中三个新功能
jackyrong
java
junit 4.11中两个新增的功能,首先是注解中可以参数化,比如
import static org.junit.Assert.assertEquals;
import java.util.Arrays;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runn
国外程序员爱用苹果Mac电脑的10大理由
php教程分享
windows PHP unix Microsoft perl
Mac 在国外很受欢迎,尤其是在 设计/web开发/IT 人员圈子里。普通用户喜欢 Mac 可以理解,毕竟 Mac 设计美观,简单好用,没有病毒。那么为什么专业人士也对 Mac 情有独钟呢?从个人使用经验来看我想有下面几个原因:
1、Mac OS X 是基于 Unix 的
这一点太重要了,尤其是对开发人员,至少对于我来说很重要,这意味着Unix 下一堆好用的工具都可以随手捡到。如果你是个 wi
位运算、异或的实际应用
wenjinglian
位运算
一. 位操作基础,用一张表描述位操作符的应用规则并详细解释。
二. 常用位操作小技巧,有判断奇偶、交换两数、变换符号、求绝对值。
三. 位操作与空间压缩,针对筛素数进行空间压缩。
&n
weblogic部署项目出现的一些问题(持续补充中……)
Everyday都不同
weblogic部署失败
好吧,weblogic的问题确实……
问题一:
org.springframework.beans.factory.BeanDefinitionStoreException: Failed to read candidate component class: URL [zip:E:/weblogic/user_projects/domains/base_domain/serve
tomcat7性能调优(01)
toknowme
tomcat7
Tomcat优化: 1、最大连接数最大线程等设置
<Connector port="8082" protocol="HTTP/1.1"
useBodyEncodingForURI="t
PO VO DAO DTO BO TO概念与区别
xp9802
java DAO 设计模式 bean 领域模型
O/R Mapping 是 Object Relational Mapping(对象关系映射)的缩写。通俗点讲,就是将对象与关系数据库绑定,用对象来表示关系数据。在O/R Mapping的世界里,有两个基本的也是重要的东东需要了解,即VO,PO。
它们的关系应该是相互独立的,一个VO可以只是PO的部分,也可以是多个PO构成,同样也可以等同于一个PO(指的是他们的属性)。这样,PO独立出来,数据持