一、背景
网上对于爬取股票数据有相对完善的教程。不过大部分教程都是只能够爬取一段时间的股票数据,针对某一只股票的历史数据爬取,目前还没有看到比较好的教程。下面对近期学的东西进行一点点小结。
二、股票数据爬取网站
网上更多推荐的是东方财富的股票数据,链接为: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])
该代码可以直接下载股票的相应数据,存在的问题也是只能下载一部分数据。
目前关于如何下载一支股票的所有历史数据,还在学习中。。。。。。
你可能感兴趣的:(数据集制作与课程收集)
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时代则
达梦数据库查询与操作详解
wangxiaomeng111
数据库 oracle sql
引言查询与操作数据库中的数据是达梦数据库提供的基本功能。达梦数据库遵循SQL标准,提供了多种方式的数据查询和数据操作的方法,已满足用户的实际应用需求,此次介绍通过SQL语句实现单表查询、连接查询、查询子句、子查询等数据查询方法和表数据操作方法。一、达梦数据库概述达梦数据库是一种关系型数据库管理系统(RDBMS),支持标准SQL语法,包括数据查询(SELECT)、数据插入(INSERT)、更新(UP
docker
MzKyle
docker docker 容器 运维
Docker介绍Docker是一个开源容器化平台,主要作用是通过将应用程序及其依赖环境打包成轻量级、可移植的容器,实现跨环境的一致性部署与运行。其核心价值包括:环境隔离:容器内的应用与宿主机及其他容器相互隔离,确保运行环境的独立性。标准化交付:通过镜像(Image)封装代码、库和配置,消除“在我机器上能运行”的问题。资源高效:共享宿主机内核,相比虚拟机(VM)更节省内存和计算资源,启动速度更快。跨
仙境传说(RO)私人服务器端源代码实战指南
你这人真狗
本文还有配套的精品资源,点击获取简介:《仙境传说(RO)》是一款韩国MMORPG游戏,其私人服务器端源代码让游戏爱好者能自定义游戏环境。源代码使用DELPHI语言编写,涵盖游戏核心功能如玩家移动、战斗和交易等,并支持定制化游戏体验。该代码包含网络通信机制,允许高效的数据交换和游戏状态更新。DELPHI开发者可利用第三方网络库实现服务器与客户端间的通信。该源代码下载需要一定的编程基础和网络编程知识,
构建AngularJS动态Web应用的示例教程
你这人真狗
本文还有配套的精品资源,点击获取简介:AngularJS是一个由Google支持的前端JavaScript框架,用于创建动态Web应用程序。本文将通过一个名为“angular-sample-app”的示例应用程序,详细介绍AngularJS的核心特性,包括双向数据绑定、控制器、指令系统、服务与依赖注入、表单处理、路由与导航、模板和局部存储以及其他高级特性。通过这个示例应用的深入剖析,开发者可以学习
html中单选框怎么取消选中,radio单选框的选中与取消
你这人真狗
html中单选框怎么取消选中
需求:单选框可重复点击选中和取消;背景:单选框只可以选中,取消需要点击其他单选框。解决方案:单选按钮取消选中$(function(){$('input:radio').click(function(){vardomName=$(this).attr('name');var$radio=$(this);//ifthiswaspreviouslycheckedif($radio.data('wasch
股票量化分析软件有哪些?它们各自有何独特优势与适用场景?
财云量化
python炒股自动化 量化交易 程序化交易 股票量化分析软件 独特优势 适用场景 股票量化接口 股票API接口
炒股自动化:申请官方API接口,散户也可以python炒股自动化(0),申请券商API接口python炒股自动化(1),量化交易接口区别Python炒股自动化(2):获取股票实时数据和历史数据Python炒股自动化(3):分析取回的实时数据和历史数据Python炒股自动化(4):通过接口向交易所发送订单Python炒股自动化(5):通过接口查询订单,查询账户资产股票量化,Python炒股,CSDN
YOLOv8n-OBB使用C#在windows10进行部署(CPU)
cd_Ww777
YOLO
1.训练YOLOv8-OBB模型1.1数据集制作所用标注工具:X-AnyLabeling下载链接:https://github.com/CVHub520/X-AnyLabeling/releases/download/v2.3.6/X-AnyLabeling-CPU.exe附上两张图片为标注过程中的重要步骤;标注快捷键的使用具体参考官方文档,附图为简单实用的快捷键。https://github.c
iOS底层原理总结 - 探寻OC对象的本质
qq_34666585
底层原理 iOS底层原理
原文链接:iOS底层原理总结-探寻OC对象的本质iOS底层原理总结-探寻OC对象的本质对小码哥底层班视频学习的总结与记录。面试题部分,通过对面试题的分析探索问题的本质内容。面试题:一个NSObject对象占用多少内存?探寻OC对象的本质,我们平时编写的Objective-C代码,底层实现其实都是C\C++代码。OC的对象结构都是通过基础C\C++的结构体实现的。我们通过创建OC文件及对象,并将OC
C语言实现队列数据结构:思路与代码详解
共享家9527
c 数据结构 c语言 数据结构 开发语言
目录一、引言二、整体思路三、代码模块分析(一)头文件包含与宏定义(二)数据类型定义(三)队列操作函数1.队列初始化2.队列销毁3.入队操作4.出队操作5.获取队头元素6.获取队尾元素7.获取队列大小8.判断队列是否为空(四)主函数测试四、总结作者主页:共享家9527-CSDN博客一、引言队列是一种重要的数据结构,遵循先进先出(FIFO)的原则。在C语言中,我们可以通过自定义结构体和一系列操作函数来
深入理解 Node.js 事件循环(Event Loop)与异步机制
全栈探索者chen
node node.js vim 编辑器 开发语言 程序人生 异步 性能优化
深入理解Node.js事件循环(EventLoop)与异步机制前言Node.js以其单线程、异步非阻塞I/O的特性在高并发场景中广泛应用。然而,许多开发者对其事件循环(EventLoop)机制不够熟悉,导致在编写异步代码时遇到回调地狱、Promise处理不当、性能瓶颈等问题。本文将详细解析Node.js事件循环的运行原理,结合代码示例,帮助你深入理解其核心机制。一、什么是事件循环(EventLoo
DeepSeek重构产业生态:餐饮、金融与短视频的智能跃迁
放逐者-保持本心,方可放逐
其他 重构 金融
引言:智能时代的产业共振在数字技术浪潮席卷全球的当下,DeepSeek作为人工智能领域的重要参与者,正以其强大的算法能力和多模态交互特性,深度渗透至餐饮、金融、短视频等民生关键领域。从长江之畔的烟火气到陆家嘴的金融脉搏,从市井小店的智能排班到跨国银行的风险定价,从美食博主的AI替身到探店经济的虚实融合,DeepSeek不仅重塑了传统行业的运营逻辑,更在消费升级与技术创新的交汇处,催生出新的商业范式
基于 Vue.js 和 Element UI 实现九宫格按钮拖拽排序功能 | 详细教程与代码实现
小杰~
vue.js javascript vuedraggable CSS Grid
在Vue.js项目中使用vue-element-template(基于ElementUI)实现按钮的九宫格拖拽排序功能,可以通过以下步骤实现。我们将使用vuedraggable库来实现拖拽排序功能。1.安装依赖首先,确保你已经安装了vuedraggable库:npminstallvuedraggable2.创建组件接下来,创建一个Vue组件来实现九宫格拖拽排序功能。{{button.label}}
Ansible自动化运维工具深度研究报告
萧十一郎@
知识科普 网络 运维
目录一、引言1.1研究背景与目的1.2研究方法与数据来源1.3报告结构二、Ansible基础概述2.1Ansible简介2.2发展历程2.3架构与工作原理2.4特点优势三、Ansible安装与配置3.1安装环境准备3.2安装步骤详解3.3配置文件解读3.4密钥对配置与免密登录设置四、Ansible核心功能与模块4.1命令行模块使用4.2Playbook详解4.3常用模块分析4.4模块扩展与自定义五
Java~二叉树进阶练习题:根据先序遍历和中序遍历构建二叉树 与 根据后序遍历和中序遍历构建二叉树
Java墨言
程序员 java 面试 算法
《一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码》,点击传送门,即可获取!先序遍历中第一个一定是根结点。中序遍历中根结点左子树的所有结点一定在根结点的左边,右子树的所有结点一定在根结点的右边。所有中序遍历的序列组成可以表示为:左子树结点+根结点+右子树结点。后序遍历中最后一个结点一定是根结点。****根据先序遍历和中序遍历构建二叉树解题细想:**设置变量inedx方便从p
CSS语言的数论算法
宇瞳月
包罗万象 golang 开发语言 后端
CSS语言的数论算法引言数论作为数学的一个重要分支,主要研究整数及其性质。数论的基本问题包括素数的性质、最大公约数、最小公倍数、同余等,同时数论在密码学、计算机科学等领域具有广泛的应用。而CSS(层叠样式表)本身是一种样式表语言,用于控制HTML文档的样式和布局,虽然CSS本身并不能直接进行复杂的数论运算,但它可以和JavaScript等编程语言结合使用,实现数论算法的可视化与交互。本文将探讨数论
【卫星分享】吉林一号卫星介绍
泽奥zeo
吉林一号 图像处理 RS 遥感影像 卫星科普
在当今数字化与信息化飞速发展的时代,卫星遥感技术已成为人类探索地球、监测环境、服务社会的重要手段。作为我国自主研发的商用遥感卫星星座,“吉林一号”凭借其卓越的技术性能和广泛的应用场景,成为了我国航天领域的一颗璀璨明珠。它不仅填补了我国在商业遥感领域的空白,还为全球用户提供了高分辨率、高质量的遥感数据服务。接下来,我们将从发展历程、技术特点、成像原理以及数据获取方式四个方面,深入解读“吉林一号”卫星
09.【C++】list链表(STL中的列表容器,C++封装的带头双向链表,可实现指定类型的增删查改,迭代器操作等功能)
..过云雨
C++ c++ 开发语言
目录一.list的介绍及使用1.1list的介绍1.2list的使用1.2.1list的构造1.2.2listiterator迭代器的使用1.2.3listsize&empty大小判空1.2.4listelementaccess头尾引用1.2.5listmodifiers增删查改1.2.6list的迭代器失效1.2.7list排序的使用二.list的模拟实现2.1模拟实现list三.list与ve
【开原宝藏】30天学会CSS - DAY1 第一课
hikktn
开源宝藏 css 前端
下面提供一个由浅入深、按步骤拆解的示例教程,让你能从零开始,逐步理解并实现带有旋转及悬停动画的社交图标效果。为了更简单明了,以下示例仅创建四个图标(Facebook、Twitter、Google+、LinkedIn),并在每一步都附带代码展示和讲解。第0步:项目结构说明先准备两个文件:index.htmlHTML的主体结构style.css样式代码,控制图标外观与动画目录结构如下:project/
GraphQL 联邦架构:构建可扩展的分布式 API 生态系统
全栈探索者chen
知识分享 graphql 架构 分布式 开发语言 缓存 后端 性能优化
GraphQL联邦架构:构建可扩展的分布式API生态系统前言随着微服务架构在企业级应用中的广泛应用,各个服务需要独立演进与部署,API层的设计逐渐成为开发者面临的重要挑战。GraphQL作为一种灵活的数据查询语言,已经在许多项目中取代了传统RESTfulAPI。然而,当业务不断增长、服务拆分越来越细粒度时,单一GraphQL服务往往难以满足扩展性和独立部署的需求。为了解决这一问题,GraphQL联
问题链的拓扑学重构
由数入道
AI辅助教学 拓扑学 重构
问题链拓扑学重构目录概念框架与理论基础综合知识图谱(Mermaid图示)核心构成要素与参数解析逻辑链条方法论详解与数学模型4.1根源溯源——分形式5Whys与RCA4.2网络建模——系统动力学与贝叶斯网络4.3维度跃迁——第一性原理与跨模态映射4.4时空折叠——历史回溯与未来推演四维操控模型——知识精髓工具、案例及实践方法注意事项、终止机制与系统自适应未来拓展与研究方向总结与战略价值1.概念框架与
Python中的time模块
小白的高手之路
python学习 深度学习(DL) python 数据结构 开发语言
在Python中,importtime这一行代码的作用是导入名为time的标准库模块,这个模块提供了与时间相关的各种函数和工具,用于处理时间戳、时间延迟、时间格式转换等操作。1、time模块的常见用途和核心函数:1.1获取时间戳timestamp=time.time()print(timestamp)#输出如:1717666785.123456time.time()返回当前时间的时间戳(以秒为单位
东隆科技携手PRIMES成立中国校准实验室,开启激光诊断高精度新时代
东隆科技
科技
3月12日,上海慕尼黑光博会期间,东隆科技正式宣布与德国PRIMES共同成立“中国校准实验室”。这一重要合作标志着东隆科技在本地化服务领域的优势与PRIMES在激光光束诊断领域的顶尖技术深度融合,旨在为中国客户提供更快速、更高精度的服务以及本地化的技术支持。此次成立的“中国校准实验室”不仅是东隆科技在激光技术服务领域的重要突破,更是激光行业质量保证与创新能力提升的重要里程碑。实验室将专注于测量设备
llama.cpp 和 LLM(大语言模型)
这个懒人
llama 语言模型 人工智能
llama.cpp和LLM(大语言模型)的介绍,以及两者的关联与区别:1.LLM(LargeLanguageModel,大语言模型)定义:LLM是基于深度学习技术(如Transformer架构)构建的超大参数量的自然语言处理模型。它通过海量文本数据训练,能够生成连贯、语义丰富的文本,完成问答、创作、推理等任务。特点:参数规模大:如GPT-3(1750亿参数)、Llama-65B(650亿参数)等。
epoll两种事件触发模式有什么区别
C嘎嘎嵌入式开发
服务器 服务器 c++ linux
水平触发和边缘触发是epoll提供的两种事件通知模式,它们在处理文件描述符的I/O事件时有不同的行为:水平触发默认模式:这是epoll的默认工作模式,与传统的select和poll类似。行为:只要文件描述符上有数据可读、可写或发生错误,epoll_wait就会返回该文件描述符。即使你没有处理这些事件,它们也会在后续的epoll_wait调用中继续返回。优点:编程相对简单,因为你可以逐步处理事件,不
异常的核心类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