一、背景
网上对于爬取股票数据有相对完善的教程。不过大部分教程都是只能够爬取一段时间的股票数据,针对某一只股票的历史数据爬取,目前还没有看到比较好的教程。下面对近期学的东西进行一点点小结。
二、股票数据爬取网站
网上更多推荐的是东方财富的股票数据,链接为: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])
该代码可以直接下载股票的相应数据,存在的问题也是只能下载一部分数据。
目前关于如何下载一支股票的所有历史数据,还在学习中。。。。。。
你可能感兴趣的:(数据集制作与课程收集)
OpenCV多分辨率模板匹配与容错优化实战指南
追寻向上
opencv 人工智能 计算机视觉
第一章:问题背景与挑战1.1传统模板匹配的局限性模板匹配(TemplateMatching)是计算机视觉中基础且广泛使用的技术,其核心思想是通过滑动窗口在目标图像中寻找与模板最相似的位置。然而,传统方法(如OpenCV的cv2.matchTemplate)在实际应用中存在以下问题:尺寸敏感性当目标的实际尺寸与模板不一致时,匹配结果会严重偏离。例如,在工业检测中,摄像头与物体的距离变化会导致目标缩放
软件性能测试深度解析(进阶篇):JMeter高阶应用与性能工程体系构建
追寻向上
jmeter 功能测试
六、JMeter内核机制深度剖析6.1JMeter架构设计原理JMeter采用模块化架构设计,核心模块包括:测试计划(TestPlan):测试逻辑的容器,所有组件在此组织。线程模型:基于Java线程池实现虚拟用户(VirtualUser)并发,通过Ramp-Up参数控制线程启动梯度。请求处理引擎:采用事件驱动模型,每个Sampler(取样器)由独立线程执行,通过Timer(定时器)控制执行节奏。技
C#——如何定义事件
稀饭鸡蛋
c# 开发语言 microsoft
在C#编程语言中,事件(Event)是一种允许类或对象通知其他类或对象发生某种情况的机制。事件通常与委托(Delegate)一起使用,委托可以被视为事件的数据类型,它定义了可以对事件进行处理的方法的签名。使用自定义委托定义事件首先,我们可以自定义一个委托类型,然后基于这个委托类型定义事件。例如://定义一个委托类型publicdelegatevoidMyEventHandler(stringmes
DeepSeek 与各类常见软件的详细搭配使用方法
潇杨爱吃粉
python 开发语言 vscode
一、与开发工具集成(以VSCode为例)**1.通过插件调用DeepSeek**步骤:安装插件在VSCode扩展商店中搜索安装CodeGPT或Cursor(内置AI功能)。配置API密钥打开插件设置,找到APIKey输入框。登录DeepSeek官网获取API密钥(需注册账号并订阅服务)。粘贴密钥并保存。使用场景代码生成:选中代码片段,右键选择AskDeepSeek,输入需求如“优化这段代码”。问题
【C++】开源:brpc远程过程调用(RPC)配置与使用
DevFrank
# c++开源库和框架 c++ 开源 rpc
★,°:.☆( ̄▽ ̄)/$:.°★这篇文章主要介绍brpc远程过程调用(RPC)配置与使用。无专精则不能成,无涉猎则不能通。——梁启超欢迎来到我的博客,一起学习,共同进步。喜欢的朋友可以关注一下,下次更新不迷路文章目录:smirk:1.项目介绍:blush:2.环境配置:satisfied:3.使用说明1.项目介绍项目Github地址:https://github.com/apache/brpcb
Flume详解——介绍、部署与使用
克里斯蒂亚诺罗纳尔多阿维罗
flume 大数据 分布式
1.Flume简介ApacheFlume是一个专门用于高效地收集、聚合、传输大量日志数据的分布式、可靠的系统。它特别擅长将数据从各种数据源(如日志文件、消息队列等)传输到HDFS、HBase、Kafka等大数据存储系统。特点:可扩展:支持大规模数据传输,灵活扩展容错性:支持数据恢复和失败重试,确保数据不丢失多种数据源:支持日志文件、网络数据、HTTP请求、消息队列等多种来源流式处理:数据边收集边传
SQL注入攻击:原理、案例分析与防御策略
m0_61532714
sql oracle 数据库
SQL注入(SQLInjection)是Web应用程序中常见且严重的安全漏洞之一。攻击者通过构造恶意的SQL语句,利用应用程序对用户输入的处理漏洞,对数据库进行未授权的操作。SQL注入攻击可以导致数据泄露、数据篡改甚至是数据库服务器的完全控制。本文将深入探讨SQL注入的原理、常见案例及其防御策略。SQL注入攻击原理SQL注入攻击的核心在于应用程序对用户输入缺乏有效的验证和过滤,使得恶意的SQL代码
软件安全知识
we19a0sen
四 计算机安全专业 安全
第一部分:软件开发生命周期(SDLC)与安全开发实践SDLC核心阶段需求分析→设计→编码→测试→部署→维护安全开发原则:安全左移(Shift-LeftSecurity)理念安全开发实践(SecureSDLC)威胁建模(ThreatModeling):STRIDE模型安全需求分析(如隐私保护、权限控制)安全编码规范与代码审查(CodeReview)安全测试集成(渗透测试、SAST/DAST)部署阶段
网盘会员编程代码交流
孤独的程序员dis1500
信息安全 前端 javascript html
代码交流&网盘分享平台上线!开发者专属,支持代码托管、技术交流、资源分享!高速网盘,便捷上传&下载源码、文档、工具!技术社区,汇聚各路大牛,交流经验,共同进步!安全加密,确保你的代码与文件隐私无忧!一起探索无限可能!✨
智能租赁系统助力数字化转型提升管理效率与服务质量
红点租赁系统开发
其他
内容概要在当今快速发展的商业环境中,智能租赁系统正如一位得力助手,帮助企业以数字化的方式提升管理效率与服务质量。想象一下,传统的租赁管理就像是一场需要精确时间安排的舞蹈,而智能租赁系统则提供了高科技的音响设备,让整个表演流畅无比。通过先进的数字技术,比如云计算和大数据分析,这些系统能够优化资源配置,让企业的每一分钱都花得物有所值。更妙的是,智能租赁系统不仅高效处理日常事务,还能提供精确的数据分析,
小程序租赁系统智能风控与多端适配实践
红点租赁系统开发
其他
内容概要当你的手机里塞满各类小程序时,小程序租赁系统正悄悄把"租东西"这件事变成科技界的"变形金刚"。这套系统不仅打通了支付宝、微信、APP三端的数据壁垒,还像给每个用户装上了信用扫描仪——央行征信评估叠加芝麻信用免押,让押金争议直接退场。更妙的是,区块链存证技术给每笔交易贴上防伪标签,就算遇到纠纷,司法存证模块也能让证据链硬得像块钢板。如果你还在纠结"选安卓还是iOS",这套系统早就在抖音、PC
小程序租赁系统开发的优势与应用解析
红点租赁系统开发
其他
内容概要随着科技的迅猛发展,小程序租赁系统应运而生,成为许多企业优化业务的重要工具。首先,它提升了用户体验。想象一下,用户只需轻轻一点,就能够浏览和租赁心仪的商品,这种便捷的过程使繁琐的操作大大简化。其次,小程序能够显著降低运营成本。相比传统的租赁方式,小程序省去了很多人工和物理空间的需求,企业可以把更多资源投入到产品优化和营销策略上。此外,小程序在各行各业中的应用案例屈指可数,例如,旅行业利用小
Spring、Spring Boot、Spring Cloud 的区别与联系
码农的天塌了
Spring框架 spring spring boot spring cloud
1.Spring框架定位:轻量级的企业级应用开发框架,核心是IoC(控制反转)和AOP(面向切面编程)。核心功能:依赖注入(DI):通过@Autowired、@Component等注解管理对象生命周期。事务管理:声明式事务(@Transactional)。数据访问:支持JDBC、ORM(如Hibernate、MyBatis)。WebMVC:基于Servlet的MVC框架,处理HTTP请求。缺点:配
目标:掌握无位置传感器(FOC)控制PMSM的设计与实现
老衲在深渊
电赛 单片机 嵌入式硬件 电赛 无位置传感 电机
第一阶段:基础知识准备(1~2周)目标:掌握电机控制理论和LKS32MC071开发环境时间安排:每天3~4小时产出目标:✅能够理解PMSM电机的基本工作原理✅熟悉FOC控制方法✅了解无位置传感器控制的原理✅掌握LKS32MC071芯片的基础开发Step1:理解永磁同步电机(PMSM)原理(1-2天)学习内容:•什么是PMSM(永磁同步电机)•PMSM数学模型(d-q轴建模)•三相交流电机的控制方式
电脑屏幕怎么实时监控?学习4个可实现方法,合理电脑使用!
安固软件的博客
学习 电脑
在数字化办公日益盛行的2025年,企业对于员工电脑使用的管理与监控需求愈发迫切。为了确保工作效率、防止数据泄露并维护良好的工作环境,一款高效、可靠的电脑屏幕监控软件成为了企业的必备工具。在众多同类软件中,安固软件凭借其卓越的性能、全面的功能以及高度的易用性,脱颖而出,成为了众多企业的首选。安固软件:电脑屏幕监控的佼佼者全面监控,无死角覆盖安固软件提供了全方位的电脑屏幕监控功能,能够实时捕捉并显示员
鸿蒙(HarmonyOS)性能优化—Web开发常见问题
码牛程序猿
HarmonyOS 鸿蒙工程师 鸿蒙 harmonyos 华为 HarmonyOS 鸿蒙应用开发 鸿蒙系统 鸿蒙 鸿蒙开发
H5页面如何与ArkTS交互(API10)问题现象目前javaScriptProxy仅支持同步调用,异步调用无法获取执行结果。解决措施对javaScriptProxy和runJavaScript封装,实现JSBridge通信方案。适用于H5调用原生侧函数。使用Web组件javaScriptProxy将原生侧接口注入到H5的window对象上,通过runJavaScript接口执行JS脚本到H5中,
【操作系统安全】任务5:Windows 文件与文件系统
不羁。。
# 操作系统安全 windows
目录一、引言二、文件系统信息查看2.1磁盘与分区信息2.1.1diskpart工具2.1.2wmic查询2.2文件系统类型检查2.3文件属性查看2.3.1dir命令2.3.2attrib命令三、文件系统权限配置3.1NTFS权限管理3.1.1icacls命令3.1.2特殊权限设置3.2所有权管理四、文件基本操作4.1文件创建4.1.1文本文件4.1.2空文件4.2文件删除4.3文件复制与移动4.3
SQL注入漏洞:原理、危害及其防御策略
.@M.
sql 网络 安全 mysql 数据库 网络安全
摘要:本文聚焦于SQL注入漏洞这一网络安全威胁,详细阐述其概念、原理、潜在危害,并探讨有效的防御手段。SQL注入攻击通过恶意构造输入数据,诱使目标系统执行未经预期的SQL查询,从而篡改、泄露甚至完全控制数据库信息。此类漏洞严重威胁数据隐私与业务安全,可能导致财务损失、用户隐私泄露乃至系统瘫痪。针对SQL注入攻击,本文提出了一系列防御措施,包括严格的数据验证、预编译语句的使用、最小权限原则的应用以及
【网络安全】SQL注入原理及常见攻击方法简析
秋说
sql web安全
文章目录登陆验证后端逻辑未知用户名注入攻击原理手工注入基于#注释符的sql注入基于错误消息的sql注入报错注入报错注入与基于错误消息的sql注入区别已知用户名注入攻击原理基于--注释符的sql注入基于/**/注释符的sql注入已知用户名与未知用户名攻击区别sql注入绕过利用数字型注入基于布尔型运算的盲注攻击基于联合查询的注入攻击基于数字型操作符的注入攻击利用模糊匹配注入sql注入攻击思路登陆验证后
UDP数据发送与接收详解
web安全工具库
python
各类资料学习下载合集https://pan.quark.cn/s/8c91ccb5a474UDP(用户数据报协议)是一种无连接的网络协议,与TCP相比,它更轻量、更快速。UDP适合于对速度要求高而对可靠性要求相对较低的应用场景,比如视频流、语音通话等。在本文中,我们将详细探讨如何使用Python的socket库进行UDP数据的发送与接收,提供完整的代码示例及运行结果。1.UDP的基本原理UDP的工
【AVRCP】Notification PDUs 深入解析与应用
byte轻骑兵
蓝牙技术探索与应用 音频/视频控制 蓝牙技术 AVRCP
目录一、NotificationPDUs概述二、GetPlayStatus:同步查询播放状态2.1命令功能与应用场景2.2请求格式(CT→TG)2.3响应格式(TG→CT)2.4注意事项2.5协议实现示例(伪代码)三、RegisterNotification:异步事件订阅3.1命令概述3.2命令格式3.3响应格式①EVENT_PLAYBACK_STATUS_CHANGED(通知播放状态的改变)②E
【JSON-RPC】 python+JSON-RPC示例与入门
魔都吴所谓
json rpc python
JSON-RPC是一种无状态的、轻量级的远程过程调用(RPC)协议。它定义了几种数据结构及其处理规则。它使用JSON(JavaScriptObjectNotation)作为数据格式,允许实现相同功能的程序以松散耦合的方式跨网络通信。以下是一个简单的JSON-RPC使用Python的示例。我们将使用jsonrpclib这个库来创建一个JSON-RPC服务端和一个客户端。首先,你需要安装jsonrpc
在kali linux中配置hadoop伪分布式
we19a0sen
三 数据分析 分布式 linux hadoop
目录一.配置静态网络二.配置主机名与IP地址映射三.配置SSH免密登录四.配置Java和Hadoop环境五.配置Hadoop伪分布式六.启动与验证一.配置静态网络原因:Hadoop集群依赖稳定的网络通信,动态IP可能导致节点失联。静态IP确保节点始终通过固定地址通信。操作步骤:#修改网络配置文件sudovim/etc/network/interfaces#添加内容(根据实际网络修改):autoet
【操作系统安全】任务6:Linux 系统文件与文件系统安全 学习指南
不羁。。
# 操作系统安全 运维 linux 服务器
目录一、文件系统基础概念二、查看文件系统信息2.1磁盘空间查看2.2分区与挂载管理2.3文件系统类型操作三、文件系统权限配置3.1基础权限管理3.2所有权管理3.3特殊权限设置四、文件操作基础4.1文件创建4.2文件删除4.3文件复制与移动4.4文件编辑五、高级文件管理5.1链接管理5.2查找与搜索5.3压缩与归档六、权限管理进阶6.1ACL访问控制列表6.2权限掩码设置6.3安全增强配置七、实战
MySQL 与 Elasticsearch 联合查询
墨瑾轩
一起学学数据库【一】 mysql elasticsearch adb
关注墨瑾轩,带你探索编程的奥秘!超萌技术攻略,轻松晋级编程高手技术宝库已备好,就等你来挖掘订阅墨瑾轩,智趣学习不孤单即刻启航,编程之旅更有趣嘿,小伙伴们!今天我们要来聊聊MySQL与Elasticsearch如何携手合作,共同完成高效的联合查询和数据检索任务。MySQL是一款非常流行的数据库管理系统,而Elasticsearch则是一款基于Lucene的搜索引擎,擅长全文搜索和实时数据分析。两者结
python etree创建xml_Python构建XML树结构的实例教程
埃琳娜莱农
python etree创建xml
这篇文章主要介绍了Python构建XML树结构的方法,结合实例形式分析了Python创建与打印xml数结构的实现步骤与相关操作技巧,需要的朋友可以参考下本文实例讲述了Python构建XML树结构的方法。分享给大家供大家参考,具体如下:1.构建XML元素#encoding=utf-8fromxml.etreeimportElementTreeasETimportsysroot=ET.Element(
Python数据可视化与地理空间分析
CrMylive.
信息可视化 python 开发语言
数据可视化是数据分析的一个关键环节,它将数据转化为可视化的图形和图表,帮助人们更好的理解和分析数据。Python作为一种通用的编程语言,也可以用于数据可视化和地理空间分析。本文将深入探讨Python在数据可视化和地理空间分析方面的应用。一、Python数据可视化Python数据可视化的核心工具是matplotlib,它是一个开源的绘图库,可以帮助用户创建高质量的静态、动态和交互式图形。除了matp
python 判断两个矩形是否重叠(Find if two rectangles overlap)
csdn_aspnet
Python python
给定两个矩形,判断这两个矩形是否重叠。注意,一个矩形可以用两个坐标表示,左上角和右下角。所以我们主要给出以下四个坐标。l1:第一个矩形的左上角坐标。r1:第一个矩形的右下角坐标。l2:第二个矩形的左上角坐标。r2:第二个矩形的右下角坐标。我们需要编写一个函数booldoOverlap(l1,r1,l2,r2),如果两个给定的矩形重叠,则返回true。注意:可以假设矩形与坐标轴平行。一种解决方案是逐
jetson xavier nx 开启usb bulk 模式
超级无敌霹雳破坏龙
嵌入式硬件 arm开发
一、参考资料与信息:jetsonxaviernx使用jetpacksdk5.0.2,20.04ubantu。CONFIG_USB_CONFIGFS_F_FS=y(通过ConfigFS的FunctionFS支持)。在较新的内核版本中,CONFIG_USB_FUNCTIONFS已被CONFIG_USB_CONFIGFS_F_FS替代。请连接host设备后再启动程序https://developer.d
linux 安装anaconda与jupyter notebook配置
土豆土豆,我是洋芋
python
一、anaconda安装在官网或清华镜像下载anaconda在载前看一下自己的系统版本,下载对应的anaconda版本。在系统中输入:cat/proc/version,如下图所示##下载地址1)官网:https://www.anaconda.com/distribution/2)清华镜像:https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/安
异常的核心类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