一、背景
网上对于爬取股票数据有相对完善的教程。不过大部分教程都是只能够爬取一段时间的股票数据,针对某一只股票的历史数据爬取,目前还没有看到比较好的教程。下面对近期学的东西进行一点点小结。
二、股票数据爬取网站
网上更多推荐的是东方财富的股票数据,链接为:http://quote.eastmoney.com/stocklist.html
东方财富上能够获得所有股票的编号信息,有助于股票数据的爬取,但是每天的股票数据,大多都在百度股票数据上进行的爬取,爬取数据的网址为:https://gupiao.baidu.com/stock/
对于某一只股票的所有历史数据,这里推荐网易财经,以600000浦发银行为例,查找600000,然后查看其历史数据即可,且历史数据可以直接手动下载。其历史数据的链接为:http://quotes.money.163.com/trade/lsjysj_600000.html#01b07
三、股票数据爬取的一点小技巧
股票数据的量非常大,这里在爬取股票数据的时候,需要注意的就是反爬虫的工作。参考了很多代码,总结出比较好的思路有两个:
一是设置很多header,每次随机抽取一个header进行数据访问。下面给出这些header供参考。
import urllib
import urllib.request
import re
import random
user_agent = ["Mozilla/5.0 (Windows NT 10.0; WOW64)", 'Mozilla/5.0 (Windows NT 6.3; WOW64)',
'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.64 Safari/537.11',
'Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; rv:11.0) like Gecko',
'Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1500.95 Safari/537.36',
'Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; rv:11.0) like Gecko)',
'Mozilla/5.0 (Windows; U; Windows NT 5.2) Gecko/2008070208 Firefox/3.0.1',
'Mozilla/5.0 (Windows; U; Windows NT 5.1) Gecko/20070309 Firefox/2.0.0.3',
'Mozilla/5.0 (Windows; U; Windows NT 5.1) Gecko/20070803 Firefox/1.5.0.12',
'Opera/9.27 (Windows NT 5.2; U; zh-cn)',
'Mozilla/5.0 (Macintosh; PPC Mac OS X; U; en) Opera 8.0',
'Opera/8.0 (Macintosh; PPC Mac OS X; U; en)',
'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.12) Gecko/20080219 Firefox/2.0.0.12 Navigator/9.0.0.6',
'Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Win64; x64; Trident/4.0)',
'Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0)',
'Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; WOW64; Trident/6.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; InfoPath.2; .NET4.0C; .NET4.0E)',
'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.1 (KHTML, like Gecko) Maxthon/4.0.6.2000 Chrome/26.0.1410.43 Safari/537.1 ',
'Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; WOW64; Trident/6.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; InfoPath.2; .NET4.0C; .NET4.0E; QQBrowser/7.3.9825.400)',
'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:21.0) Gecko/20100101 Firefox/21.0 ',
'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.1 (KHTML, like Gecko) Chrome/21.0.1180.92 Safari/537.1 LBBROWSER',
'Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; WOW64; Trident/6.0; BIDUBrowser 2.x)',
'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.11 (KHTML, like Gecko) Chrome/20.0.1132.11 TaoBrowser/3.0 Safari/536.11']
url='http://quote.stockstar.com/stock/ranklist_a_3_1_'+str(page)+'.html'
request=urllib.request.Request(url=url,headers={"User-Agent":random.choice(user_agent)})#随机从user_agent列表中抽取一个元素
二是每抓一页随机休眠几秒,数值可根据实际情况改动。可参考:
import time
time.sleep(random.randrange(1,4))
四、爬取股票代码
试验了很多代码,有两个代码还不错,能够爬取出部分股票数据。下面直接给出相关代码:
import requests
from bs4 import BeautifulSoup
import traceback
import re
def getHTMLText(url):
try:
r = requests.get(url)
r.raise_for_status()
r.encoding = r.apparent_encoding
return r.text
except:
return ""
def getStockList(lst, stockURL):
html = getHTMLText(stockURL)
soup = BeautifulSoup(html, 'html.parser')
a = soup.find_all('a')
for i in a:
try:
href = i.attrs['href']
lst.append(re.findall(r"[s][hz]\d{6}", href)[0])
except:
continue
def getStockInfo(lst, stockURL, fpath):
count = 0
for stock in lst:
url = stockURL + stock + ".html"
html = getHTMLText(url)
try:
if html == "":
continue
infoDict = {}
soup = BeautifulSoup(html, 'html.parser')
stockInfo = soup.find('div', attrs={'class': 'stock-bets'})
name = stockInfo.find_all(attrs={'class': 'bets-name'})[0]
infoDict.update({'股票名称': name.text.split()[0]})
keyList = stockInfo.find_all('dt')
valueList = stockInfo.find_all('dd')
for i in range(len(keyList)):
key = keyList[i].text
val = valueList[i].text
infoDict[key] = val
with open(fpath, 'a', encoding='utf-8') as f:
f.write(str(infoDict) + '\n')
count = count + 1
print("\r当前进度: {:.2f}%".format(count * 100 / len(lst)), end="")
except:
count = count + 1
print("\r当前进度: {:.2f}%".format(count * 100 / len(lst)), end="")
continue
def main():
stock_list_url = 'http://quote.eastmoney.com/stocklist.html'
stock_info_url = 'https://gupiao.baidu.com/stock/'
output_file = 'D:/BaiduStockInfo.txt'
slist = []
getStockList(slist, stock_list_url)
getStockInfo(slist, stock_info_url, output_file)
if __name__ == '__main__':
mian()
测试过上述代码,能够下载部分股票数据的当日情况,但存在的问题是下载一阵之后就不再下载数据,且下载数据的效果并不理想,排版很乱。下面是爬取股票数据的结果:
另一个比较好的代码为:
import urllib
import urllib.request
import re
import random
import time
#抓取所需内容
user_agent = ["Mozilla/5.0 (Windows NT 10.0; WOW64)", 'Mozilla/5.0 (Windows NT 6.3; WOW64)',
'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.64 Safari/537.11',
'Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; rv:11.0) like Gecko',
'Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1500.95 Safari/537.36',
'Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; rv:11.0) like Gecko)',
'Mozilla/5.0 (Windows; U; Windows NT 5.2) Gecko/2008070208 Firefox/3.0.1',
'Mozilla/5.0 (Windows; U; Windows NT 5.1) Gecko/20070309 Firefox/2.0.0.3',
'Mozilla/5.0 (Windows; U; Windows NT 5.1) Gecko/20070803 Firefox/1.5.0.12',
'Mozilla/5.0 (Macintosh; PPC Mac OS X; U; en) Opera 8.0',
'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.12) Gecko/20080219 Firefox/2.0.0.12 Navigator/9.0.0.6',
'Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Win64; x64; Trident/4.0)',
'Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0)',
'Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; WOW64; Trident/6.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; InfoPath.2; .NET4.0C; .NET4.0E)',
'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.1 (KHTML, like Gecko) Maxthon/4.0.6.2000 Chrome/26.0.1410.43 Safari/537.1 ',
'Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; WOW64; Trident/6.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; InfoPath.2; .NET4.0C; .NET4.0E; QQBrowser/7.3.9825.400)',
'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:21.0) Gecko/20100101 Firefox/21.0 ',
'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.1 (KHTML, like Gecko) Chrome/21.0.1180.92 Safari/537.1 LBBROWSER',
'Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; WOW64; Trident/6.0; BIDUBrowser 2.x)',
'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.11 (KHTML, like Gecko) Chrome/20.0.1132.11 TaoBrowser/3.0 Safari/536.11']
stock_total=[] # 所有页面的股票数据
for page in range(1,8): # 下载1-7页的股票数据
url='http://quote.stockstar.com/stock/ranklist_a_3_1_'+str(page)+'.html'
request=urllib.request.Request(url=url,headers={"User-Agent":random.choice(user_agent)})#随机从user_agent列表中抽取一个元素
try:
response=urllib.request.urlopen(request)
except urllib.error.HTTPError as e: #异常检测
print('page=',page,'',e.code)
except urllib.error.URLError as e:
print('page=',page,'',e.reason)
content=response.read().decode('gbk') #读取网页内容
print('get page',page) #打印成功获取的页码
pattern=re.compile('')
body=re.findall(pattern,str(content))
pattern=re.compile('>(.*?)<')
stock_page=re.findall(pattern,body[0]) #正则匹配
stock_total.extend(stock_page)
time.sleep(random.randrange(1,4)) #每抓一页随机休眠几秒,数值可根据实际情况改动
#删除空白字符
stock_last=stock_total[:] #stock_last为最终所要得到的股票数据
for data in stock_total:
if data=='':
stock_last.remove('')
#打印部分结果
print('代码','\t','简称',' ','\t','最新价','\t',' ','涨跌幅','\t',' ','涨跌额','\t',' ','5分钟涨幅')
for i in range(0,len(stock_last),13): #原网页有13列数据,所以步长为13
print(stock_last[i],'\t',stock_last[i+1],' ','\t',stock_last[i+2],' ','\t',stock_last[i+3],' ','\t',stock_last[i+4],' ','\t',stock_last[i+5])
该代码可以直接下载股票的相应数据,存在的问题也是只能下载一部分数据。
目前关于如何下载一支股票的所有历史数据,还在学习中。。。。。。
你可能感兴趣的:(数据集制作与课程收集)
前端框架革命:React与Vue对比与解析
WHCIS
Web开发技术 前端框架 react.js vue.js
一、框架设计哲学的本质差异1.1React:以JavaScript为核心的函数式哲学React的核心思想可以概括为**“UI即函数”**,其设计遵循以下原则:React核心声明式编程组件即函数单向数据流JSX描述UI函数组件+Hook状态提升模式声明式编程:开发者只需描述界面应该呈现的最终状态,无需关心具体DOM操作细节不可变数据流:通过setState触发组件树更新,保持数据流向的可预测性虚拟D
【Auto-Scroll-List 组件设计与实现分析】
Gazer_S
Vue3 重构 优化 数据结构 vue.js 前端 javascript
Auto-Scroll-List组件设计与实现分析gitee代码仓库https://gitee.com/chennaiyuan/dayup-record/tree/master/%E4%B8%80%E4%BA%9B%E7%BB%84%E4%BB%B6/auto-scroll-list1.组件概述我们封装的AutoScrollList是一个自动滚动列表组件,主要用于展示需要自动循环滚动的数据项,如通
ubuntu 自动挂起_ubuntu 的挂起与休眠
AIS_Canada
ubuntu 自动挂起
待机计算机将目前的运行状态等数据存放在内存,关闭硬盘、外设等设备,进入等待状态。此时内存仍然需要电力维持其数据,但整机耗电很少。恢复时计算机从内存读出数据,回到挂起前的状态,恢复速度较快。一般笔记本在电池无故障且充满的情况下可以支持这种挂起数小时甚至数天(依具体机型有差别)。其他名称:Suspend,STR(SuspendToRAM),挂起,挂起到内存休眠计算机将目前的运行状态等数据存放在硬盘上某
Vue源码深度解析:从2.x到3.x的架构演进与核心原理剖析
旧味清欢|
Vue vue.js 架构 前端
Vue源码深度解析:从2.x到3.x的架构演进与核心原理剖析一、框架演变:从Vue2到Vue3的跨越1.1革命性升级Vue3的发布标志着前端框架进入新纪元,其核心改进体现在三个方面:性能飞跃:包体积减少41%,初始渲染提速55%,更新性能提升133%开发体验:CompositionAPI带来更好的逻辑复用能力未来兼容:完善的TypeScript支持与渐进式升级策略1.2兼容性设计通过@vue/co
【玩转正则表达式】Python、Go、Java正则表达式解释器的差异解析(附示例)
ThisIsClark
玩转正则表达式 正则表达式 java python golang
正则表达式作为文本处理的利器,在不同编程语言中的实现却暗藏玄机。Python、Go和Java作为主流开发语言,其正则引擎在语法支持、功能完整性和性能表现上存在显著差异。本文通过具体示例,揭示这些差异及应对策略。一、原始字符串与转义差异Python使用r""定义原始字符串,避免转义:importrere.findall(r'\d+','123a456')#输出['123','456']Go和Java
基于Spring Boot+vue技术的导游系统设计与实现
除了菜一无所有!
spring boot vue.js 后端
论文下载【免费】基于SpringBoot+vue技术的导游系统设计与实现资源-CSDN文库摘要本研究背景主要聚焦于当前旅游业信息化、智能化的发展趋势。随着移动互联网的普及和人们出行方式的多样化,导游系统作为旅游服务的重要组成部分,亟需进行技术革新以提升用户体验和服务效率。本研究旨在利用SpringBoot后端框架与Vue前端框架,构建一个功能丰富、交互友好的导游系统。研究内容主要包括系统需求分析、
鸿蒙Next开发与未来发展的变革:全场景操作系统的全新纪元
北辰alk
鸿蒙 harmonyos 华为
文章目录引言:从兼容到自主的跨越式进化一、鸿蒙Next技术架构解析1.1系统架构全景图1.1.1微内核架构优势1.2与OpenHarmony的关系二、开发范式革命2.1应用开发模式对比2.1.1元服务(MetaService)定义2.2开发工具链升级(DevEcoStudio4.0)2.2.1核心功能增强2.2.2工程结构变革三、关键技术突破3.1方舟编译器深度优化3.2分布式能力增强3.2.1设
前端面试:如何标准化处理线上用户反馈的问题?
returnShitBoy
前端 面试 javascript
在前端开发中,标准化处理线上用户反馈的问题是确保持续改进产品质量和用户体验的重要步骤。以下是一个有效的标准化处理流程,结合实际工作经验,以便更好地收集、分析和解决用户反馈问题。1.建立反馈渠道首先,需要为用户提供明确的反馈渠道。可以通过以下方式实现:反馈按钮:在应用的每个页面或关键功能上添加反馈按钮,方便用户随时提交意见。支持邮箱:提供专门的支持邮箱,用户可以通过此邮箱发送详细的问题描述。在线聊天
《前端监控与性能优化全景指南:构建企业级高性能应用》
前端极客探险家
前端 性能优化 sentry prometheus grafana
文章目录前言技术栈覆盖范围一、监控体系架构设计1.1全链路监控系统组成1.2核心监控指标清单二、性能数据采集实战2.1增强版性能采集器2.2用户行为轨迹录制三、深度性能优化策略3.1构建阶段优化(Webpack5示例)3.2运行时优化技巧四、错误监控与智能诊断4.1增强型错误边界4.2网络请求监控五、生产环境调优指南5.1Nginx极致配置5.2CDN策略优化六、自动化质量保障体系6.1CI/CD
Vue2与Vue3:深入比较与迁移指南
布兰妮甜
# Vue vue2 vue3 迁移指南
文章目录前言一、响应式系统的进化二、组合式API的引入三、生命周期钩子的变化四、新特性与优化五、迁移指南六、实际案例结语前言Vue.js自从2014年首次发布以来,凭借其简洁的语法、灵活的组件化架构以及高效的性能,迅速成为了最受欢迎的前端框架之一。随着技术的不断进步,Vue.js也在不断地迭代和优化,Vue3就是在这样的背景下诞生的。Vue3不仅带来了许多新特性和性能优化,还在API设计和开发者体
php开发转go的学习计划及课程资料信息
老李要转行
php golang 学习
以下是为该课程体系整理的配套教材和教程资源清单,包含书籍、视频、官方文档和实战项目资源,帮助你系统化学习:Go语言学习教材推荐(PHP开发者适配版)一、核心教材(按学习阶段分类)1.基础语法阶段(阶段一)资源类型名称推荐理由链接/获取方式官方教程Go语言之旅交互式学习,快速上手基础语法官方免费中文书籍《Go语言入门指南》专为有其他语言经验的开发者编写京东/当当速查手册Go速查表PHP与Go语法对比
LeetCode 第11题~第13题
IC 见路不走
leetcode 算法 职场和发展
LeetCode第11题-盛最多水的容器题目描述:给定一个长度为n的整数数组height。有n条垂线,第i条线的两个端点是(i,0)和(i,height[i])。找出其中的两条线,使得它们与x轴共同构成的容器可以容纳更多的水。返回容器可以储存的最大水量,不可以倾斜容器。难度:中等题目链接:11.盛最多水的容器-力扣(LeetCode)示例1:输入:[1,8,6,2,5,4,8,3,7]输出:49解
Go语言的代码评审
祝瑾萱
包罗万象 golang 开发语言 后端
Go语言代码评审的重要性与实施指南在现代软件开发中,代码评审(CodeReview)已经成为保证代码质量、提升团队协作效率的重要环节。特别是在使用Go语言(Golang)进行开发时,代码评审的必要性更加凸显。在本文中,我们将深入探讨Go语言代码评审的重要性、常见的评审方法,以及如何有效地实施代码评审流程。一、Go语言与代码评审1.1Go语言简介Go语言由谷歌于2007年开发,并于2009年正式发布
小红书电商0-1全过程实操课
2501_90634927
大数据 学习 视频 音视频
小红书已成为众多品牌和商家必争的流量高地。其独特的社区氛围和强大的种草能力,为电商运营开辟了新的蹊径。对于想要在小红书平台上开启电商业务的创业者来说,掌握从零开始的全过程实操步骤至关重要。下面,让我们一起深入探索小红书电商0-1的实操课程,为你创业路上的每一步提供清晰指引。一、小红书平台介绍:了解电商新战场(一)小红书的商业价值小红书作为生活方式分享平台,拥有超6亿用户,月活达1.7亿,且女性、年
Haskell语言的迭代器
祝瑾萱
包罗万象 golang 开发语言 后端
Haskell语言的迭代器:深入理解与实战应用引言Haskell是一种纯函数式编程语言,以其强大的类型系统和惰性求值特性而闻名。在Haskell中,迭代器(Iterator)是一个非常重要的概念,尤其是在处理大规模数据或无限序列时。本文将深入探讨Haskell中的迭代器,包括其基本概念、实现方式、常见应用场景以及如何在实际项目中高效使用迭代器。一、迭代器的基本概念1.1什么是迭代器?在编程中,迭代
Java Web开发核心内容全解析(上)
风铃儿~
java servlet mybatis
一、JavaWeb概述JavaWeb是指使用Java技术来解决相关web互联网领域的技术总和。在当今数字化时代,JavaWeb在构建企业级应用、电子商务平台、社交网络等方面发挥着至关重要的作用。(一)JavaWeb的体系结构JavaWeb应用的体系结构主要分为客户端层、表示层、业务逻辑层和数据访问层。1.客户端层-这是用户与Web应用交互的最前端。主要包括用户浏览器,它可以接收并显示从服务器端发送
1.1Vue 3 核心优势与架构革新
北辰alk
vue.js 架构 前端
文章目录**1.1Vue3核心优势与架构革新****一、设计哲学演进****二、响应式系统革命****三、组合式API范式****四、编译器架构升级****五、类型系统集成****六、生态融合能力****七、性能基准对比****八、架构升级路线****本章深度总结**1.1Vue3核心优势与架构革新一、设计哲学演进渐进式框架的终极形态模块化架构:通过@vue/reactivity、@vue/run
前端面试:ajax 和 xhr 是什么关系?
returnShitBoy
前端 面试 ajax
在前端开发中,AJAX(AsynchronousJavaScriptandXML)和XHR(XMLHttpRequest)是两个密切相关但有些不同的概念。以下是对这两者的详细解释及其关系:1.AJAX定义:AJAX是一个用于创建异步web应用程序的技术。它允许网页在不完全重新加载整页的情况下,与服务器交换数据并更新部分网页内容。主要特征:异步操作:AJAX使得页面可以在后台与服务器进行数据交换,用
【pytorch(cuda)】基于DQN算法的无人机三维城市空间航线规划(Python代码实现)
wlz249
python pytorch 算法
欢迎来到本博客❤️❤️博主优势:博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。⛳️座右铭:行百里者,半于九十。本文目录如下:目录⛳️赠与读者1概述一、研究背景与意义二、DQN算法概述三、基于DQN的无人机三维航线规划方法1.环境建模2.状态与动作定义3.奖励函数设计4.深度神经网络训练5.航线规划四、研究挑战与展望2运行结果3参考文献4Python代码实现⛳️赠与读者做科研,涉及到一个深在的
在麒麟系统(基于Ubuntu或Debuntu)的离线环境中创建本地APT仓库
乙龙
kylin ubuntu linux 运维 kylin
在麒麟系统(基于Ubuntu或Debuntu)的离线环境中创建本地APT仓库,可以按照以下步骤操作:步骤1:准备依赖工具#安装生成仓库元数据的工具sudoapt-getinstalldpkg-dev步骤2:收集所有需要的DEB包将离线环境所需的.deb软件包(包括依赖包)复制到一个目录中,例如:sudomkdir-p/var/my-repocp/path/to/debs/*.deb/var/my-
VLLM专题(三十五)—多模态数据处理
AI专题精讲
大模型专题系列 人工智能
为了在vLLM中实现各种优化,例如分块预填充和前缀缓存,我们使用BaseMultiModalProcessor来提供占位符特征标记(例如)与多模态输入(例如原始输入图像)之间的对应关系,基于HF处理器的输出。以下是BaseMultiModalProcessor的主要特性:提示更新检测HF处理器的主要职责之一是使用占位符标记更新提示。例如:在字符串的开头插入特征占位符标记(例如…,其数量等于特征大小
【保姆级视频教程(一)】YOLOv12环境配置:从零到一,手把手保姆级教程!| 小白也能轻松玩转目标检测!
一只云卷云舒
YOLOv12保姆级通关教程 YOLO YOLOv12 flash attention GPU 计算能力 算力
【2025全站首发】YOLOv12环境配置:从零到一,手把手保姆级教程!|小白也能轻松玩转目标检测!文章目录1.FlashAttentionWindows端WHL包下载1.1简介1.2下载链接1.3国内镜像站1.4安装方法2.NVIDIAGPU计算能力概述2.1简介2.2计算能力版本与GPU型号对照表2.2.1CUDA-EnabledDatacenterProducts2.2.2CUDA-Enab
yolov8的第一次实验报告
算法宇宙
YOLO 人工智能 计算机视觉
1.实验概述实验名称:占道经营目标检测模型实验目标:提高模型的精确率(Precision)和召回率(Recall),使其接近1。实验日期:[2025-01-16]2.数据集数据集名称:[datasets]数据集大小:[2.68Gb]数据集描述:[数据集主要分两个类别:zdjy_ld,zdjy_gd]注释:占道经营流动,占道经营固定3.模型配置3.1基础配置·模型类型:YOLOv8·预训练模型:YO
南京邮电大学C++实验(一)类和对象的定义及使用(仅参考)
iamCarp
南邮实验 c++ 学习
实验名称:类和对象的定义及使用一、实验目的和要求(1)掌握类与对象的定义与使用方法,理解面向对象方法中通过对象间传递消息的工作机制。(2)正确掌握类的不同属性成员的使用方法。(3)掌握构造函数与析构函数的概念,理解构造函数与析构函数的执行过程。(4)掌握友元函数和友元类的定义和使用。(5)基本掌握指针和引用作为函数参数的应用。二、实验环境(实验设备)硬件:微型计算机软件:Windows操作系统、M
MySQL与达梦数据库空间查询差异详解:根据经纬度坐标查询范围
CarlowZJ
数据库 mysql 达梦数据库
在地理信息系统中,经常需要根据地理位置数据进行查询。MySQL和达梦数据库(DM)都提供了空间函数来支持这类查询,但两者在处理空间函数时存在一些差异。本文将详细解释两个数据库中根据经纬度坐标查询范围的SQL语句,并说明这些差异。一、MySQL数据库查询语句解释sql复制SELECT*FROMbase_channelsWHEREIS_SELECT='1'ANDST_Contains(ST_GeomF
游戏引擎学习第162天
虾球xz
游戏引擎学习 游戏引擎 学习
回顾与即将进行的调试工作概述有人提了一个关于C运行时库的问题,所以画面有些不同。不过现在已经调整回正常的画面,大家看到的就是平时熟悉的界面了。今天的内容是继续在不使用任何引擎和库的情况下,编写一个完整的游戏。上周已经完成了一部分通用分配器的工作,比预想的要快很多。即便只是初步的版本,也没有花太长时间。而优化版本的实现需要等到对资源管理系统施加更大压力之后,才能真正观察到可能的问题,以及是否有优化的
HTML 专栏总结:回顾与展望
烂蜻蜓
HTML html 前端
在本HTML专栏的二十余篇文章中,我们一同深入探索了HTML这一网页构建基石的丰富世界。从最基础的概念出发,我们逐步揭开了HTML的神秘面纱。我们学习到HTML作为在Web上广泛应用的通用标记语言,承担着构建网页基本结构与内容呈现的重任。通过各类标签,我们能够对文本进行多样化的格式化,让标题醒目、段落清晰,强调重点语句,还能为文字添加特殊样式,如加粗、斜体、下划线等,极大地丰富了文本的表现力。在图
tiny linux: 内核精简的根文件系统制作
SunliyMonkey
一一『 操作系统 』 tiny linux qemu busybox 根文件系统
tinylinuxtiny_linux要求实现以下两点:精简linux内核镜像,要求在支持TCP/IP数据传输的情况下,内核镜像和正常运行所需内存能够做到尽可能的小。采用busybox制作根文件系统,利用kernelmodelinux补丁,使得busybox运行在内核态。欢迎访问tiny_linux,这里有编译好的内核镜像,根文件系统镜像以及相关脚本,供大家使用。涉及知识点qemu使用linux内
Python基础知识---数据与变量、进制转换
银白101
python 开发语言
1.1软件开发概述(1)软件定义定义:是指有一系列按照特定顺序组织的计算机数据与指令的集合。程序=数据+指令程序=数据结构+算法软件的分类:系统软件:主要负责管理操作计算机底层的硬件,为用户提供一个操作的界面,为用户提供最基本的计算机功能WindowsLinuxMACAndroidIOSHarmonyOS应用软件:主要负责处理某一特殊领域功能的软件:微信、陌陌、Soul、网易云音乐、支付宝、Off
李开复:AI 2.0 时代的价值
AI大模型应用之禅
DeepSeek R1 & AI大模型与大数据 java python javascript kotlin golang 架构 人工智能
人工智能,AI2.0,价值创造,伦理挑战,未来趋势1.背景介绍人工智能(AI)技术近年来发展迅速,从语音识别、图像识别到自然语言处理,AI已经渗透到我们生活的方方面面。李开复,作为一位享誉全球的人工智能专家,在《AI2.0时代的价值》一文中,深刻地探讨了AI2.0时代带来的机遇与挑战,以及AI如何为人类创造价值。AI1.0时代主要集中在规则驱动的系统,例如围棋、象棋等游戏的AI。而AI2.0时代则
异常的核心类Throwable
无量
java 源码 异常处理 exception
java异常的核心是Throwable,其他的如Error和Exception都是继承的这个类 里面有个核心参数是detailMessage,记录异常信息,getMessage核心方法,获取这个参数的值,我们可以自己定义自己的异常类,去继承这个Exception就可以了,方法基本上,用父类的构造方法就OK,所以这么看异常是不是很easy
package com.natsu;
mongoDB 游标(cursor) 实现分页 迭代
开窍的石头
mongodb
上篇中我们讲了mongoDB 中的查询函数,现在我们讲mongo中如何做分页查询
如何声明一个游标
var mycursor = db.user.find({_id:{$lte:5}});
迭代显示游标数
MySQL数据库INNODB 表损坏修复处理过程
0624chenhong
tomcat mysql
最近mysql数据库经常死掉,用命令net stop mysql命令也无法停掉,关闭Tomcat的时候,出现Waiting for N instance(s) to be deallocated 信息。查了下,大概就是程序没有对数据库连接释放,导致Connection泄露了。因为用的是开元集成的平台,内部程序也不可能一下子给改掉的,就验证一下咯。启动Tomcat,用户登录系统,用netstat -
剖析如何与设计人员沟通
不懂事的小屁孩
工作
最近做图烦死了,不停的改图,改图……。烦,倒不是因为改,而是反反复复的改,人都会死。很多需求人员不知该如何与设计人员沟通,不明白如何使设计人员知道他所要的效果,结果只能是沟通变成了扯淡,改图变成了应付。
那应该如何与设计人员沟通呢?
我认为设计人员与需求人员先天就存在语言障碍。对一个合格的设计人员来说,整天玩的都是点、线、面、配色,哪种构图看起来协调;哪种配色看起来合理心里跟明镜似的,
qq空间刷评论工具
换个号韩国红果果
JavaScript
var a=document.getElementsByClassName('textinput');
var b=[];
for(var m=0;m<a.length;m++){
if(a[m].getAttribute('placeholder')!=null)
b.push(a[m])
}
var l
S2SH整合之session
灵静志远
spring AOP struts session
错误信息:
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'cartService': Scope 'session' is not active for the current thread; consider defining a scoped
xmp标签
a-john
标签
今天在处理数据的显示上遇到一个问题:
var html = '<li><div class="pl-nr"><span class="user-name">' + user
+ '</span>' + text + '</div></li>';
ulComme
Ajax的常用技巧(2)---实现Web页面中的级联菜单
aijuans
Ajax
在网络上显示数据,往往只显示数据中的一部分信息,如文章标题,产品名称等。如果浏览器要查看所有信息,只需点击相关链接即可。在web技术中,可以采用级联菜单完成上述操作。根据用户的选择,动态展开,并显示出对应选项子菜单的内容。 在传统的web实现方式中,一般是在页面初始化时动态获取到服务端数据库中对应的所有子菜单中的信息,放置到页面中对应的位置,然后再结合CSS层叠样式表动态控制对应子菜单的显示或者隐
天-安-门,好高
atongyeye
情感
我是85后,北漂一族,之前房租1100,因为租房合同到期,再续,房租就要涨150。最近网上新闻,地铁也要涨价。算了一下,涨价之后,每次坐地铁由原来2块变成6块。仅坐地铁费用,一个月就要涨200。内心苦痛。
晚上躺在床上一个人想了很久,很久。
我生在农
android 动画
百合不是茶
android 透明度 平移 缩放 旋转
android的动画有两种 tween动画和Frame动画
tween动画;,透明度,缩放,旋转,平移效果
Animation 动画
AlphaAnimation 渐变透明度
RotateAnimation 画面旋转
ScaleAnimation 渐变尺寸缩放
TranslateAnimation 位置移动
Animation
查看本机网络信息的cmd脚本
bijian1013
cmd
@echo 您的用户名是:%USERDOMAIN%\%username%>"%userprofile%\网络参数.txt"
@echo 您的机器名是:%COMPUTERNAME%>>"%userprofile%\网络参数.txt"
@echo ___________________>>"%userprofile%\
plsql 清除登录过的用户
征客丶
plsql
tools---preferences----logon history---history 把你想要删除的删除
--------------------------------------------------------------------
若有其他凝问或文中有错误,请及时向我指出,
我好及时改正,同时也让我们一起进步。
email : binary_spac
【Pig一】Pig入门
bit1129
pig
Pig安装
1.下载pig
wget http://mirror.bit.edu.cn/apache/pig/pig-0.14.0/pig-0.14.0.tar.gz
2. 解压配置环境变量
如果Pig使用Map/Reduce模式,那么需要在环境变量中,配置HADOOP_HOME环境变量
expor
Java 线程同步几种方式
BlueSkator
volatile synchronized ThredLocal ReenTranLock Concurrent
为何要使用同步? java允许多线程并发控制,当多个线程同时操作一个可共享的资源变量时(如数据的增删改查), 将会导致数据不准确,相互之间产生冲突,因此加入同步锁以避免在该线程没有完成操作之前,被其他线程的调用, 从而保证了该变量的唯一性和准确性。 1.同步方法&
StringUtils判断字符串是否为空的方法(转帖)
BreakingBad
null StringUtils “”
转帖地址:http://www.cnblogs.com/shangxiaofei/p/4313111.html
public static boolean isEmpty(String str)
判断某字符串是否为空,为空的标准是 str==
null
或 str.length()==
0
编程之美-分层遍历二叉树
bylijinnan
java 数据结构 算法 编程之美
import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;
public class LevelTraverseBinaryTree {
/**
* 编程之美 分层遍历二叉树
* 之前已经用队列实现过二叉树的层次遍历,但这次要求输出换行,因此要
jquery取值和ajax提交复习记录
chengxuyuancsdn
jquery取值 ajax提交
// 取值
// alert($("input[name='username']").val());
// alert($("input[name='password']").val());
// alert($("input[name='sex']:checked").val());
// alert($("
推荐国产工作流引擎嵌入式公式语法解析器-IK Expression
comsci
java 应用服务器 工作 Excel 嵌入式
这个开源软件包是国内的一位高手自行研制开发的,正如他所说的一样,我觉得它可以使一个工作流引擎上一个台阶。。。。。。欢迎大家使用,并提出意见和建议。。。
----------转帖---------------------------------------------------
IK Expression是一个开源的(OpenSource),可扩展的(Extensible),基于java语言
关于系统中使用多个PropertyPlaceholderConfigurer的配置及PropertyOverrideConfigurer
daizj
spring
1、PropertyPlaceholderConfigurer
Spring中PropertyPlaceholderConfigurer这个类,它是用来解析Java Properties属性文件值,并提供在spring配置期间替换使用属性值。接下来让我们逐渐的深入其配置。
基本的使用方法是:(1)
<bean id="propertyConfigurerForWZ&q
二叉树:二叉搜索树
dieslrae
二叉树
所谓二叉树,就是一个节点最多只能有两个子节点,而二叉搜索树就是一个经典并简单的二叉树.规则是一个节点的左子节点一定比自己小,右子节点一定大于等于自己(当然也可以反过来).在树基本平衡的时候插入,搜索和删除速度都很快,时间复杂度为O(logN).但是,如果插入的是有序的数据,那效率就会变成O(N),在这个时候,树其实变成了一个链表.
tree代码:
C语言字符串函数大全
dcj3sjt126com
c function
C语言字符串函数大全
函数名: stpcpy
功 能: 拷贝一个字符串到另一个
用 法: char *stpcpy(char *destin, char *source);
程序例:
#include <stdio.h>
#include <string.h>
int main
友盟统计页面技巧
dcj3sjt126com
技巧
在基类调用就可以了, 基类ViewController示例代码
-(void)viewWillAppear:(BOOL)animated
{
[super viewWillAppear:animated];
[MobClick beginLogPageView:[NSString stringWithFormat:@"%@",self.class]];
window下在同一台机器上安装多个版本jdk,修改环境变量不生效问题处理办法
flyvszhb
java jdk
window下在同一台机器上安装多个版本jdk,修改环境变量不生效问题处理办法
本机已经安装了jdk1.7,而比较早期的项目需要依赖jdk1.6,于是同时在本机安装了jdk1.6和jdk1.7.
安装jdk1.6前,执行java -version得到
C:\Users\liuxiang2>java -version
java version "1.7.0_21&quo
Java在创建子类对象的同时会不会创建父类对象
happyqing
java 创建 子类对象 父类对象
1.在thingking in java 的第四版第六章中明确的说了,子类对象中封装了父类对象,
2."When you create an object of the derived class, it contains within it a subobject of the base class. This subobject is the sam
跟我学spring3 目录贴及电子书下载
jinnianshilongnian
spring
一、《跟我学spring3》电子书下载地址:
《跟我学spring3》 (1-7 和 8-13) http://jinnianshilongnian.iteye.com/blog/pdf
跟我学spring3系列 word原版 下载
二、
源代码下载
最新依
第12章 Ajax(上)
onestopweb
Ajax
index.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/
BI and EIM 4.0 at a glance
blueoxygen
BO
http://www.sap.com/corporate-en/press.epx?PressID=14787
有机会研究下EIM家族的两个新产品~~~~
New features of the 4.0 releases of BI and EIM solutions include:
Real-time in-memory computing –
Java线程中yield与join方法的区别
tomcat_oracle
java
长期以来,多线程问题颇为受到面试官的青睐。虽然我个人认为我们当中很少有人能真正获得机会开发复杂的多线程应用(在过去的七年中,我得到了一个机会),但是理解多线程对增加你的信心很有用。之前,我讨论了一个wait()和sleep()方法区别的问题,这一次,我将会讨论join()和yield()方法的区别。坦白的说,实际上我并没有用过其中任何一个方法,所以,如果你感觉有不恰当的地方,请提出讨论。
&nb
android Manifest.xml选项
阿尔萨斯
Manifest
结构
继承关系
public final class Manifest extends Objectjava.lang.Objectandroid.Manifest
内部类
class Manifest.permission权限
class Manifest.permission_group权限组
构造函数
public Manifest () 详细 androi
Oracle实现类split函数的方
zhaoshijie
oracle
关键字:Oracle实现类split函数的方
项目里需要保存结构数据,批量传到后他进行保存,为了减小数据量,子集拼装的格式,使用存储过程进行保存。保存的过程中需要对数据解析。但是oracle没有Java中split类似的函数。从网上找了一个,也补全了一下。
CREATE OR REPLACE TYPE t_split_100 IS TABLE OF VARCHAR2(100);
cr