一.设计方案
爬虫名称:爬取天气情况并进行可视化
爬虫内容:爬取2020年3月份莆田市天气情况
爬虫设计:目标url,获取网页源代码,数据提取,数据保存
二.页面的结构特征分析(网址:http://www.tianqihoubao.com/lishi/putian/month/202003.html)
结构特质分析:源文件为html结构
页面解析以及节点查找
找到节点为
三.爬虫程序
数据爬取与采集
import requests
from bs4 import BeautifulSoup
# 目标url
url = ' http://www.tianqihoubao.com/lishi/putian/month/202003.html '
# 获取网页源代码
resp = requests.get(url)
html = resp.content.decode(' gbk ' )
# 数据提取
soup = BeautifulSoup(html,' html.parser ' )
tr_list = soup.find_all(' tr ' )
print (tr_list)
结果如图(部分截取)
数据处理
dates,conditions,temp = [],[],[]
for data in tr_list[1:]:
sub_data = data.text.split()
dates.append(sub_data[0])
conditions.append( '' .join(sub_data[1:3]))
temp.append( '' .join(sub_data[3:6]))
_data = pd.DataFrame()
_data[ ' 日期 ' ] = dates
_data[ ' 天气情况 ' ] = conditions
_data[ ' 气温 ' ] = temp
print (_data)
结果如图
数据可视化
# 数据可视化
from matplotlib import pyplot as plt
# 显示中文
plt.rcParams[' font.sans-serif ' ] = [' SimHei ' ]
# 显示负号
plt.rcParams[' axes.unicode_minus ' ] = False
data = pd.read_csv(' putian.csv ' )
# 数据处理
data[' 最高气温 ' ] = data[' 气温 ' ].str.split(' / ' ,expand=True)[0]
data[ ' 最低气温 ' ] = data[' 气温 ' ].str.split(' / ' ,expand=True)[1]
data[ ' 最高气温 ' ] = data[' 最高气温 ' ].map(lambda x:int(x.replace(' ℃ ' ,'' )))
data[ ' 最低气温 ' ] = data[' 最低气温 ' ].map(lambda x:int(x.replace(' ℃ ' ,'' )))
dates = data[' 日期 ' ]
highs = data[' 最高气温 ' ]
lows = data[' 最低气温 ' ]
# 画图
fig = plt.figure(dpi=128,figsize=(10,6))
plt.plot(dates,highs, c =' red ' ,alpha=0.5)
plt.plot(dates,lows, c =' blue ' ,alpha=0.5)
plt.fill_between(dates,highs,lows,facecolor =' blue ' ,alpha=0.2)
# 图表格式
# 设置图形格式
plt.title(' 2020年三月份天气 ' ,fontsize=24)
plt.xlabel( '' ,fontsize=6)
fig.autofmt_xdate() # 绘制斜的日期标签,避免重叠
plt.ylabel(' 气温 ' ,fontsize=12)
plt.tick_params(axis =' both ' ,which=' major ' ,labelsize=10)
# 修改刻度
plt.xticks(dates[::1])
# 显示折线图
plt.show()
结果如图
最高气温与最低气温的相关系数及两者的散点图与回归方程
相关系数
# 绘制散点图以及回归方程
# 计算相关系数
X = highs
Y = lows
X.corr(Y)
结果如图
散点图
# 散点图
plt.title(' 2020年三月份最高温与最低温散点图 ' ,fontsize=20)
x = highs
y = lows
plt.xlabel( ' 最高温度 ' ,fontsize=12)
plt.ylabel( ' 最低温度 ' ,fontsize=12)
plt.scatter(x,y,color =' purple ' ,linewidth=2)
plt.show()
结果如图
回归方程
# 回归方程
import numpy as np
from scipy.optimize import leastsq
X = np.array(highs)
Y = np.array(lows)
def func(params, x):
k, b = params
return k*x+b
def error(params,x,y):
return func(params,x) - y
def main():
plt.figure(figsize =(10,6))
p0 = [0,0]
Para = leastsq(error, p0, args=(X,Y))
k, b = Para[0]
print (" k={:.2f},b={:.2f} " .format(k,b))
plt.scatter(X,Y,color =' green ' ,label=' 样本数据 ' ,linewidth=2)
# 画拟合曲线
x = np.linspace(1,30,30)
y = k*x+b
plt.plot(x,y,color =' red ' ,label=' 拟合曲线 ' ,linewidth=2)
plt.title( ' 2020年三月分最低温与最高温光系图 ' )
plt.grid()
plt.legend()
plt.show()
main()
结果如图
数据持久化
fig = plt.gcf()
plt.show()
fig.savefig( ' putian.png ' , dpi=100)
结果如图
整理后的完整代码
1 import requests
2 import pandas as pd
3 from bs4 import BeautifulSoup
4 # 目标url
5 url = ' http://www.tianqihoubao.com/lishi/putian/month/202003.html '
6 # 获取网页源代码
7 resp = requests.get(url)
8 html = resp.content.decode(' gbk ' )
9 # 数据提取
10 soup = BeautifulSoup(html,' html.parser ' )
11 tr_list = soup.find_all(' tr ' )
12
13 dates,conditions,temp = [],[],[]
14 for data in tr_list[1:]:
15 sub_data = data.text.split()
16 dates.append(sub_data[0])
17 conditions.append('' .join(sub_data[1:3]))
18 temp.append('' .join(sub_data[3:6]))
19 _data = pd.DataFrame()
20 _data[' 日期 ' ] = dates
21 _data[' 天气情况 ' ] = conditions
22 _data[' 气温 ' ] = temp
23 _data.to_csv(' putian.csv ' ,index=False,encoding=' utf-8 ' )# 去掉索引以及避免乱码
24
25 # 数据可视化
26 from matplotlib import pyplot as plt
27 # 显示中文
28 plt.rcParams[' font.sans-serif ' ] = [' SimHei ' ]
29 # 显示负号
30 plt.rcParams[' axes.unicode_minus ' ] = False
31 data = pd.read_csv(' putian.csv ' )
32 # 数据处理
33 data[' 最高气温 ' ] = data[' 气温 ' ].str.split(' / ' ,expand=True)[0]
34 data[' 最低气温 ' ] = data[' 气温 ' ].str.split(' / ' ,expand=True)[1]
35 data[' 最高气温 ' ] = data[' 最高气温 ' ].map(lambda x:int(x.replace(' ℃ ' ,'' )))
36 data[' 最低气温 ' ] = data[' 最低气温 ' ].map(lambda x:int(x.replace(' ℃ ' ,'' )))
37
38 dates = data[' 日期 ' ]
39 highs = data[' 最高气温 ' ]
40 lows = data[' 最低气温 ' ]
41
42 # 画图
43 fig = plt.figure(dpi=128,figsize=(10,6))
44
45 plt.plot(dates,highs, c=' red ' ,alpha=0.5)
46 plt.plot(dates,lows, c=' blue ' ,alpha=0.5)
47
48 plt.fill_between(dates,highs,lows,facecolor=' blue ' ,alpha=0.2)
49
50 # 图表格式
51 # 设置图形格式
52 plt.title(' 2020年三月份天气 ' ,fontsize=24)
53 plt.xlabel('' ,fontsize=6)
54 fig.autofmt_xdate() # 绘制斜的日期标签,避免重叠
55 plt.ylabel(' 气温 ' ,fontsize=12)
56 plt.tick_params(axis=' both ' ,which=' major ' ,labelsize=10)
57
58 # 修改刻度
59 plt.xticks(dates[::1])
60
61 # 显示折线图
62 plt.show()
63
64 # 绘制散点图以及回归方程
65 # 计算相关系数
66 x = highs
67 y = lows
68 x.corr(y)
69
70 # 散点图
71 plt.title(' 2020年三月份最高温与最低温散点图 ' ,fontsize=20)
72 x = highs
73 y = lows
74 plt.xlabel(' 最高温度 ' ,fontsize=12)
75 plt.ylabel(' 最低温度 ' ,fontsize=12)
76 plt.scatter(x,y,color=' purple ' ,linewidth=2)
77 plt.show()
78
79 # 回归方程
80 import numpy as np
81 from scipy.optimize import leastsq
82 X = np.array(highs)
83 Y = np.array(lows)
84 def func(params, x):
85 k, b = params
86 return k*x+b
87 def error(params,x,y):
88 return func(params,x) - y
89 def main():
90 plt.figure(figsize=(10,6))
91 p0 = [0,0]
92 Para = leastsq(error, p0, args=(X,Y))
93 k, b = Para[0]
94 print (" k={:.2f},b={:.2f} " .format(k,b))
95 plt.scatter(X,Y,color=' green ' ,label=' 样本数据 ' ,linewidth=2)
96 # 画拟合曲线
97 x = np.linspace(1,30,30)
98 y = k*x+b
99 plt.plot(x,y,color=' red ' ,label=' 拟合曲线 ' ,linewidth=2)
100 plt.title(' 2020年三月分最低温与最高温光系图 ' )
101 plt.grid()
102 plt.legend()
103 plt.show()
104 main()
105
106 # 数据持久化
107 fig = plt.gcf()
108 plt.show()
109 fig.savefig(' putian.png ' , dpi=100)
完整运行结果如图
四.结论
1.2020年3月份莆田每日温差较大,且呈现出逐渐上升趋势,每日最高温度与最低温度相关性也较大,且进行数据可视化后可以更为直观明了的观察,而三月份最低温度也在10摄氏度左右,可以看出是一个很适合居住的城市。
2.本次程序设计任务,我选择的是爬取天气后报网,课题是爬取3月份的天气情况,并不是天气预报,对于这个网址的爬取相对简单,首先它是一个静态网页,其次节点也相当好找,而且爬虫部分也不需要伪装,可以说是一个相对简单的课题。但是不可否认的是,在程序设计过程中出现了较多问题,如基础不扎实,一部分报错无法看懂,在数据处理时将列表改为整形数据时遇到了困难,进行了大量尝试才最终成功,又如在数据可视化过程中遇到了纵坐标数据出现乱序,而找不出原因,又进行了大量的尝试,再如最后阶段的数据持久化,初看认为很简单,却也让我大费脑筋,更让我认识的自己的基本功之不扎实,但相较于上一次作业而言,完成度相对较高,基本完成了任务目标。
以上。
你可能感兴趣的:(Python爬取天气情况)
Python:实现similarity search相似性搜索算法(附完整源码)
源代码大师
python算法完整教程 python 机器学习
Python:实现similaritysearch相似性搜索算法from__future__importannotationsimportmathimportnumpyasnpdefeuclidean(input_a:np.ndarray,input_b:np.ndarray)->
解锁 Python 与 MySQL 交互密码:全方位技术解析与实战攻略
秋夜Autumn
python MySQL
目录一、引言二、环境准备2.1安装MySQL2.2安装Python及相关库2.2.1使用mysql-connector-python2.2.2使用pymysql三、基本连接与操作3.1连接到MySQL数据库3.2创建游标对象3.3执行SQL查询3.3.1查询单条记录3.3.2查询多条记录3.4插入数据3.5更新数据3.6删除数据3.7关闭连接四、错误处理五、高级操作5.1使用事务5.2处理大型结果
Python Pandas数据清洗与处理
大数据张老师
Python程序设计 python pandas 开发语言
PythonPandas数据清洗与处理在进行数据分析时,原始数据往往包含了许多不完整、不准确或者冗余的信息。数据清洗与处理的任务就是将这些杂乱无章的数据清理干净,确保数据的准确性和一致性,从而为后续的分析工作打下坚实的基础。Pandas提供了强大的工具来帮助我们清洗和处理数据,尤其是在处理Series和DataFrame时,它能够高效地进行数据的筛选、填充、删除、替换等操作。本节将通过一些常见的数
成功使用devpi搭建PyPI缓存源,建立内网python安装包服务器(通过代理上网)
jcsx
基础运维知识库 开源学习 python pip nginx
前言缓存源和镜像源的区别:缓存源:初始状态为空。下载请求的软件包没有缓存,则回源到设置的上游镜像源,然后该软件包会被缓存。如果请求的软件包已经被缓存,则直接从本地缓存返回用户。下载速度:第一次速度=通过外网从上游镜像源下载的速度;之后的速度=内网带宽速度。磁盘空间:少。初始时只保存了软件包索引,随着使用过程,软件包被缓存,磁盘占用逐渐变大。镜像源:初始状态含有所有软件包,并且定时与上游镜像源同步。
Python接口自动化测试框架(实战篇)-- Jenkins持续集成
职说测试
python jenkins ci/cd 自动化测试 接口自动化测试
文章目录一、前言二、[Jenkins](https://www.jenkins.io/)2.1、环境搭建2.2、插件准备2.3、创建job2.4、小结2.5、构建策略2.6、报告展示2.7、扩展三、总结一、前言温馨提示:在框架需要集成jenkins的时候,一定要注意环境切换问题,如果jenkins和开发环境是同样的系统且都有python环境,基本不用太担心代码的移植问题,如果是跨平台了,那么需要注
python实战项目34:基于flask的天气数据可视化系统1.0
wp_tao
Python副业接单实战项目 flask 信息可视化 python
基于flask的天气数据可视化系统1.0一、效果展示二、flask简介三、图表绘制四、前端页面编写五、完整代码一、效果展示该flask项目相对简单入门,使用了flask框架、bootstrap前端技术,数据使用的是上一篇scrapy爬取城市天气数据中爬取到的数据。二、flask简介Flask是一个基于Python的Web开发框架,它以灵活、微框架著称,基于werkzeug的轻量级web框架,可提高
Jira用例自动去除summary重复用例
吾爱乐享
w w w w . f e n
title:Jira用例自动去除summary重复用例tags:-jira-pythoncategories:-python一、背景与需求二、解决方案思路三、实施步骤本文永久更新地址:在使用Jira进行项目管理时,测试用例的维护至关重要。随着项目推进,用例数量增多,可能会出现summary重复的情况,手动排查费时费力,因此实现自动去除重复用例功能意义重大。一、背景与需求项目团队在Jira中积累了大
RPA与Python
空着
部分朋友可能是了解Python的。Python这两年,火的两点,就是聚焦于两个场景:数据抓取和办公自动化。那么Python算RPA吗?RPA是一种概念,依托于这个概念诞生了很多产品。而Python是一种计算机语言,Python不仅仅可以做RPA概念范围内的东西,还可以做其他东西。但是,Python做数据抓取也好,做办公自动化也好,他都是聚焦于具体的场景本身。而并非聚焦于RPA概念上的。所以,很少见
Python爬虫技术 第12节 设置headers和cookies
hummhumm
python 爬虫 开发语言 django flask java spring
在使用Python进行网络爬虫开发时,经常需要模拟浏览器行为,这包括设置请求头(headers)和处理cookies。下面我将详细介绍如何在Python中使用requests库来设置headers和处理cookies。设置HeadersHeaders包含了客户端发送给服务器的信息,比如用户代理(User-Agent)、接受的内容类型(Accept)、语言偏好(Accept-Language)等。设
Python爬虫技术 第16节 XPath
hummhumm
python 爬虫 开发语言 flask java maven java-ee
XPath是一种在XML文档中查找信息的语言,尽管XML和HTML在语法上有区别,但XPath同样适用于HTML文档的解析,尤其是在使用如lxml这样的库时。XPath提供了一种强大的方法来定位和提取XML/HTML文档中的元素和属性。XPath基础XPath表达式由路径表达式组成,它们指定了文档中的位置。下面是一些基本的XPath语法:根节点:/表示绝对路径的开始,指向文档的根节点。//表示从当
【实践】Python实现气象数据分析与可视化
大数据张老师
Python程序设计 信息可视化 python 数据分析 可视化
一、项目需求在本节中,我们将明确“气象数据分析与可视化”项目的需求,定义项目的功能和目标,为后续的实现奠定基础。通过本项目,读者将学习如何使用Python的各种数据处理和可视化工具来分析和展示气象数据,从而掌握数据处理与可视化的核心技能。1.项目目标“气象数据分析与可视化”项目的目标是通过对历史气象数据的处理和分析,生成直观的图表和统计结果,帮助用户理解气象趋势并预测未来变化。项目的主要功能如下:
证券量化交易选择合适的编程语言
jcsx
量化 numpy pandas pyqt servlet javascript
在证券量化交易中,选择合适的编程语言至关重要,因为它直接影响到开发效率、运行速度和策略的灵活性。常用的编程语言有几个,它们各自有不同的优势和应用场景。以下是一些在量化交易中常用的编程语言:PythonPython是目前量化交易中最流行的编程语言之一,特别是在金融数据分析和模型开发中,广泛被使用。Python的流行主要有以下原因:数据处理能力:Python有非常强大的数据处理库,如pandas(数据
基于 Jenkins 的测试报告获取与处理并写入 Jira Wiki 的技术总结
吾爱乐享
w w w w . f e n
title:基于Jenkins的测试报告获取与处理并写入JiraWiki的技术总结tags:-jenkins-pythoncategories:-jenkins在软件开发的持续集成与持续交付(CI/CD)流程里,及时、准确地获取并分析测试报告对保障软件质量至关重要。本文将详细阐述如何借助Jenkins搭建自动化系统,实现批量触发测试任务、获取测试报告关键信息并写入JiraWiki的全流程自动化,为
已解决python 的SyntaxError :invalid syntax异常正确解决办法,亲测有效,嘿嘿嘿
代码无疆
Python python 开发语言
文章目录问题分析报错原因解决思路解决方法示例1:拼写错误示例2:缺少符号示例3:错误的缩进示例4:错误的语句结构SyntaxError:invalidsyntax异常是Python中最常见的错误之一,它表示代码中存在语法错误。这种错误通常发生在Python解释器无法理解你的代码时,比如因为拼写错误、缺少符号、错误的缩进、不正确的语句结构等。问题分析当Python解释器报告SyntaxError:i
【Python篇】从零到精通:全面分析Scikit-Learn在机器学习中的绝妙应用
半截诗
Python python 机器学习 scikit-learn 人工智能 深度学习 数据分析 随机森林
文章目录从零到精通:全面揭秘Scikit-Learn在机器学习中的绝妙应用前言第一部分:深入了解Scikit-Learn的基础知识1.什么是Scikit-Learn?2.安装Scikit-Learn3.Scikit-Learn中的基本构件4.数据集的加载与探索5.数据预处理标准化数据6.构建和训练机器学习模型构建逻辑回归模型7.模型评估与验证混淆矩阵第二部分:深入理解Scikit-Learn的高级
Python设计模式 - 抽象工厂模式
mofei12138
设计模式 python python 设计模式 抽象工厂模式
定义抽象工厂模式是一种创建型设计模式,它提供了一种创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。产品等级结构与产品族为了更好地理解抽象工厂模式,先引入两个概念:产品等级结构:就是产品的继承结构。例如电视机抽象类有A品牌电视机子类和B品牌电视机子类,那么抽象电视机和具体品牌的电视机就构成了一个产品等级结构。产品族:同一个工厂生产的,位于不同产品等级结构中的一组产品。例如海尔工厂生产的海
【Python设计模式07】工厂方法模式
一碗姜汤
设计模式 python 设计模式 工厂方法模式
工厂方法模式(FactoryMethodPattern)是一种创建型设计模式,它定义了一个用于创建对象的接口,让子类决定实例化哪一个类。工厂方法使得一个类的实例化延迟到其子类。通过使用工厂方法模式,可以将对象的创建过程与使用过程分离,从而提高代码的灵活性和可扩展性。工厂方法模式的结构工厂方法模式主要包括以下几个角色:抽象产品(Product):定义产品的接口。具体产品(ConcreteProduc
分形、大自然的分形几何、数据可视化、Python绘图
timedot-hj
python绘图指南 - 分形与数据可视化 可视化 python 几何学 算法
分形、大自然的分形几何、数据可视化、Python绘图中国传统中的『分形』大自然的分形几何数据可视化本系列采用turtle、matplotlib、numpy这三个Python工具,以分形与计算机图像处理的经典算法为实例,通过程序和图像,来帮助读者一步步掌握Python绘图和数据可视化的方法和技巧,并且让读者感受到“龙枝屈曲竞分形,瑰丽绮错千万状”的分形魅力。本系列共有八章,分别为海岸线有多长,基因与
python用电预测_用Python实时追踪你家的电量使用情况
weixin_39626745
python用电预测
现在的电表(附在你家房子外面的玩意)在每瓦时电量被使用后就会发出一下红外闪光,穿过电表顶部的端口。事实证明,你可以很容易地监测这一闪光,把它解码变成“实时的”电量使用情况,然后做成像这样酷的图表:Y轴表示实时功率,单位是KW,X轴表示时间。这闪光灯,好像有很高的瞬间准确度,至少我家的是这样,这意味着当1瓦时电量被使用时,它会很精确地闪了。这实在太棒了,因为它使得显示精确、实时的电量使用情况可以实现
Python Web开发
twc829
Python
Web开发介绍一、Web开发概述1C/S结构和B/S结构C/S—Client/Server,即客户机/服务器结构B/S—Browse/Server,即浏览器/服务器结构2B/S结构的优势2.1不用通知客户端安装某个软件2.2不用通知客户端升级2.3可轻松地实现跨平台3访问网站过程用户向服务器发起请求,服务器将HTML文件返回给用户,浏览器将HTML文件渲染成用户看到的网站;4分类4.1静态网站用户
如何优化Python开发:PIP和Anaconda的作用及国内源设置指南
Chaiio Dain
python python pip 开发语言 conda
前言在现代数据科学和软件开发的世界中,Python已经成为了最受欢迎的编程语言之一。其强大的生态系统和丰富的第三方库使得开发者可以快速构建各种应用程序和解决方案。然而,随着项目规模的扩大和复杂性的增加,管理Python包和依赖项变得尤为重要。PIP(Python包管理工具)和Anaconda(一个开源的Python发行版)就是在这种背景下应运而生的重要工具。PIP和Anaconda不仅简化了包的安
配置pip安装源
勤劳的搬砖工。
pip python linux
在Linux下配置pip的安装源折磨人的下载速度用过pip的人都知道,pip的下载速度简直令人窒息,有时候好有时候坏,简直全靠运气,甚至施加魔法也不行,所以选择配置一个下载源,从国内下载python包就显得很快,说实话百度网盘都比pip快。Linux下配置python2的安装源总所周知,python2和python3不一样,所以他们pip也不一样,配置也不一样修改工作目录下的.pip/pip.co
FastAPI介绍
-zZR
fastapi python
1.fastapi介绍一个用于构建API的现代、快速(高性能)的web框架。特点快速:可与NodeJS和Go并肩的极高性能(归功于Starlette和Pydantic)。最快的Pythonweb框架之一。高效编码:提高功能开发速度约200%至300%。更少bug:减少约40%的人为(开发者)导致错误。智能:极佳的编辑器支持。处处皆可自动补全,减少调试时间。简单:设计的易于使用和学习,阅读文档的时
Python 潮流周刊#87:媲美 OpenAI-o1 的开源模型(摘要)
python
本周刊由Python猫出品,精心筛选国内外的250+信息源,为你挑选最值得分享的文章、教程、开源项目、软件工具、播客和视频、热门话题等内容。愿景:帮助所有读者精进Python技术,并增长职业和副业的收入。本期分享了12篇文章,12个开源项目。下周因春节假期停更一周,提前恭祝大家蛇年吉祥,万事顺意!(PS.我在Python猫公众号给大家准备了一些红包封面,免费领取哟~)以下是本期摘要:文章&教程①优
一、新手学习爬虫第一课 对网站发起请求(基于python语言)
[木子加贝]
python自学 爬虫 学习 爬虫 python 开发语言 后端
目录前言一、安装并引用请求模块requests1.安装请求模块2.引用requests请求模块3.引用requests请求模块并使用别名二、发起请求1.对网站发起get请求(最常用的请求):(1)第一种方法(字符串)(2)第二种方法(变量)(3)第三种方法(关键字传参)2.对网站发起带参数的get请求:3.对网站发起post请求:4.对网站发JSON数据的post请求:4.注意事项总结前言爬虫的本
【Python Web开发】Python Web开发知识全解析
萧鼎
python基础到进阶教程 python 前端 开发语言
PythonWeb开发知识全解析Python是一种强大的编程语言,以其简洁和高效而闻名,尤其在Web开发领域,它有着广泛的应用。Python提供了许多功能强大且灵活的Web框架,如Flask、Django、FastAPI等,使得构建现代Web应用变得简单而高效。本文将从PythonWeb开发的基本知识入手,逐步介绍开发流程、核心技术以及如何使用Python框架构建高效、可扩展的Web应用。1.什么
【Pip】配置和优化 `pip` 安装源:提升 Python 包管理体验的全面指南
丶2136
# pip pip python 开发语言
目录引言一、什么是`pip`配置文件?1.1配置文件的类型与位置二、配置文件的结构与配置项2.1中英文注释配置文件示例三、详细解析配置项3.1镜像源设置(`index-url`和`extra-index-url`)3.2代理设置(`proxy`)3.3安装选项(`no-deps`和`user`)3.4缓存控制(`no-cache-dir`和`cache-dir`)3.5日志和调试(`verbose
奥比中光Geminipro相机使用
一傲
python 开发语言
相机使用入门,使用python获取深度图和颜色图并显示。#安装依赖importcv2importnumpyasnpfrommatplotlibimportpyplotasplt#奥比中光OrbbecPythonSDKfromObTypesimport*fromPropertyimport*importPipelineimportStreamProfilefromErrorimportObExcep
2021 年 GitHub 上十大最火 Python 项目,看完之后我裂开了
酔清风
python github python 开发语言
GitHub作为程序员每天必逛的网站之一,上面有着太多优秀的开源项目,今天派森酱就带大家来梳理下在过去的一年里,GitHub上最火的Python项目Top10。数据获取如果你留心看过GitHub的文档的话,你就会知道关于GitHub上的大部分数据,GitHub官方都是提供了接口了的。比如我们今天要获取的数据就可以从下面这个接口拿到。https://api.github.com/search/rep
一、PyCharm(Professional)搭建Django环境
郝家伙~
pycharm ide python django
目录一、创建项目1.左侧选择Django框架2.点击create开始创建项目3.下载Django失败,使用默认源下载可能失败,需要指定其他源,这里使用阿里源4.手动创建项目django-adminstartproject项目名称5.进入当前项目创建应用python3manage.pystartappsign6.点击运行按钮或终端运行项目python3manage.pyrunserverip:端口,
java杨辉三角
3213213333332132
java基础
package com.algorithm;
/**
* @Description 杨辉三角
* @author FuJianyong
* 2015-1-22上午10:10:59
*/
public class YangHui {
public static void main(String[] args) {
//初始化二维数组长度
int[][] y
《大话重构》之大布局的辛酸历史
白糖_
重构
《大话重构》中提到“大布局你伤不起”,如果企图重构一个陈旧的大型系统是有非常大的风险,重构不是想象中那么简单。我目前所在公司正好对产品做了一次“大布局重构”,下面我就分享这个“大布局”项目经验给大家。
背景
公司专注于企业级管理产品软件,企业有大中小之分,在2000年初公司用JSP/Servlet开发了一套针对中
电驴链接在线视频播放源码
dubinwei
源码 电驴 播放器 视频 ed2k
本项目是个搜索电驴(ed2k)链接的应用,借助于磁力视频播放器(官网:
http://loveandroid.duapp.com/ 开放平台),可以实现在线播放视频,也可以用迅雷或者其他下载工具下载。
项目源码:
http://git.oschina.net/svo/Emule,动态更新。也可从附件中下载。
项目源码依赖于两个库项目,库项目一链接:
http://git.oschina.
Javascript中函数的toString()方法
周凡杨
JavaScript js toString function object
简述
The toString() method returns a string representing the source code of the function.
简译之,Javascript的toString()方法返回一个代表函数源代码的字符串。
句法
function.
struts处理自定义异常
g21121
struts
很多时候我们会用到自定义异常来表示特定的错误情况,自定义异常比较简单,只要分清是运行时异常还是非运行时异常即可,运行时异常不需要捕获,继承自RuntimeException,是由容器自己抛出,例如空指针异常。
非运行时异常继承自Exception,在抛出后需要捕获,例如文件未找到异常。
此处我们用的是非运行时异常,首先定义一个异常LoginException:
/**
* 类描述:登录相
Linux中find常见用法示例
510888780
linux
Linux中find常见用法示例
·find path -option [ -print ] [ -exec -ok command ] {} \;
find命令的参数;
SpringMVC的各种参数绑定方式
Harry642
springMVC 绑定 表单
1. 基本数据类型(以int为例,其他类似):
Controller代码:
@RequestMapping("saysth.do")
public void test(int count) {
}
表单代码:
<form action="saysth.do" method="post&q
Java 获取Oracle ROWID
aijuans
java oracle
A ROWID is an identification tag unique for each row of an Oracle Database table. The ROWID can be thought of as a virtual column, containing the ID for each row.
The oracle.sql.ROWID class i
java获取方法的参数名
antlove
java jdk parameter method reflect
reflect.ClassInformationUtil.java
package reflect;
import javassist.ClassPool;
import javassist.CtClass;
import javassist.CtMethod;
import javassist.Modifier;
import javassist.bytecode.CodeAtt
JAVA正则表达式匹配 查找 替换 提取操作
百合不是茶
java 正则表达式 替换 提取 查找
正则表达式的查找;主要是用到String类中的split();
String str;
str.split();方法中传入按照什么规则截取,返回一个String数组
常见的截取规则:
str.split("\\.")按照.来截取
str.
Java中equals()与hashCode()方法详解
bijian1013
java set equals() hashCode()
一.equals()方法详解
equals()方法在object类中定义如下:
public boolean equals(Object obj) {
return (this == obj);
}
很明显是对两个对象的地址值进行的比较(即比较引用是否相同)。但是我们知道,String 、Math、I
精通Oracle10编程SQL(4)使用SQL语句
bijian1013
oracle 数据库 plsql
--工资级别表
create table SALGRADE
(
GRADE NUMBER(10),
LOSAL NUMBER(10,2),
HISAL NUMBER(10,2)
)
insert into SALGRADE values(1,0,100);
insert into SALGRADE values(2,100,200);
inser
【Nginx二】Nginx作为静态文件HTTP服务器
bit1129
HTTP服务器
Nginx作为静态文件HTTP服务器
在本地系统中创建/data/www目录,存放html文件(包括index.html)
创建/data/images目录,存放imags图片
在主配置文件中添加http指令
http {
server {
listen 80;
server_name
kafka获得最新partition offset
blackproof
kafka partition offset 最新
kafka获得partition下标,需要用到kafka的simpleconsumer
import java.util.ArrayList;
import java.util.Collections;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.
centos 7安装docker两种方式
ronin47
第一种是采用yum 方式
yum install -y docker
 
java-60-在O(1)时间删除链表结点
bylijinnan
java
public class DeleteNode_O1_Time {
/**
* Q 60 在O(1)时间删除链表结点
* 给定链表的头指针和一个结点指针(!!),在O(1)时间删除该结点
*
* Assume the list is:
* head->...->nodeToDelete->mNode->nNode->..
nginx利用proxy_cache来缓存文件
cfyme
cache
user zhangy users;
worker_processes 10;
error_log /var/vlogs/nginx_error.log crit;
pid /var/vlogs/nginx.pid;
#Specifies the value for ma
[JWFD开源工作流]JWFD嵌入式语法分析器负号的使用问题
comsci
嵌入式
假如我们需要用JWFD的语法分析模块定义一个带负号的方程式,直接在方程式之前添加负号是不正确的,而必须这样做:
string str01 = "a=3.14;b=2.71;c=0;c-((a*a)+(b*b))"
定义一个0整数c,然后用这个整数c去
如何集成支付宝官方文档
dai_lm
android
官方文档下载地址
https://b.alipay.com/order/productDetail.htm?productId=2012120700377310&tabId=4#ps-tabinfo-hash
集成的必要条件
1. 需要有自己的Server接收支付宝的消息
2. 需要先制作app,然后提交支付宝审核,通过后才能集成
调试的时候估计会真的扣款,请注意
应该在什么时候使用Hadoop
datamachine
hadoop
原帖地址:http://blog.chinaunix.net/uid-301743-id-3925358.html
存档,某些观点与我不谋而合,过度技术化不可取,且hadoop并非万能。
--------------------------------------------万能的分割线--------------------------------
有人问我,“你在大数据和Hado
在GridView中对于有外键的字段使用关联模型进行搜索和排序
dcj3sjt126com
yii
在GridView中使用关联模型进行搜索和排序
首先我们有两个模型它们直接有关联:
class Author extends CActiveRecord {
...
}
class Post extends CActiveRecord {
...
function relations() {
return array(
'
使用NSString 的格式化大全
dcj3sjt126com
Objective-C
格式定义The format specifiers supported by the NSString formatting methods and CFString formatting functions follow the IEEE printf specification; the specifiers are summarized in Table 1. Note that you c
使用activeX插件对象object滚动有重影
蕃薯耀
activeX插件 滚动有重影
使用activeX插件对象object滚动有重影 <object style="width:0;" id="abc" classid="CLSID:D3E3970F-2927-9680-BBB4-5D0889909DF6" codebase="activex/OAX339.CAB#
SpringMVC4零配置
hanqunfeng
springmvc4
基于Servlet3.0规范和SpringMVC4注解式配置方式,实现零xml配置,弄了个小demo,供交流讨论。
项目说明如下:
1.db.sql是项目中用到的表,数据库使用的是oracle11g
2.该项目使用mvn进行管理,私服为自搭建nexus,项目只用到一个第三方 jar,就是oracle的驱动;
3.默认项目为零配置启动,如果需要更改启动方式,请
《开源框架那点事儿16》:缓存相关代码的演变
j2eetop
开源框架
问题引入
上次我参与某个大型项目的优化工作,由于系统要求有比较高的TPS,因此就免不了要使用缓冲。
该项目中用的缓冲比较多,有MemCache,有Redis,有的还需要提供二级缓冲,也就是说应用服务器这层也可以设置一些缓冲。
当然去看相关实现代代码的时候,大致是下面的样子。
[java]
view plain
copy
print
?
public vo
AngularJS浅析
kvhur
JavaScript
概念
AngularJS is a structural framework for dynamic web apps.
了解更多详情请见原文链接:http://www.gbtags.com/gb/share/5726.htm
Directive
扩展html,给html添加声明语句,以便实现自己的需求。对于页面中html元素以ng为前缀的属性名称,ng是angular的命名空间
架构师之jdk的bug排查(一)---------------split的点号陷阱
nannan408
split
1.前言.
jdk1.6的lang包的split方法是有bug的,它不能有效识别A.b.c这种类型,导致截取长度始终是0.而对于其他字符,则无此问题.不知道官方有没有修复这个bug.
2.代码
String[] paths = "object.object2.prop11".split("'");
System.ou
如何对10亿数据量级的mongoDB作高效的全表扫描
quentinXXZ
mongodb
本文链接:
http://quentinXXZ.iteye.com/blog/2149440
一、正常情况下,不应该有这种需求
首先,大家应该有个概念,标题中的这个问题,在大多情况下是一个伪命题,不应该被提出来。要知道,对于一般较大数据量的数据库,全表查询,这种操作一般情况下是不应该出现的,在做正常查询的时候,如果是范围查询,你至少应该要加上limit。
说一下,
C语言算法之水仙花数
qiufeihu
c 算法
/**
* 水仙花数
*/
#include <stdio.h>
#define N 10
int main()
{
int x,y,z;
for(x=1;x<=N;x++)
for(y=0;y<=N;y++)
for(z=0;z<=N;z++)
if(x*100+y*10+z == x*x*x
JSP指令
wyzuomumu
jsp
jsp指令的一般语法格式: <%@ 指令名 属性 =”值 ” %>
常用的三种指令: page,include,taglib
page指令语法形式: <%@ page 属性 1=”值 1” 属性 2=”值 2”%>
include指令语法形式: <%@include file=”relative url”%> (jsp可以通过 include