标签为表头信息,第一个标签为省会(直辖市),为冗余信息。
利用requests库获取目标网页源代码
若没有安装则运行cmd 命令,输入pip install requests
import requests
header = {
'User-Agent' : 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.77 Safari/537.36' ,
}
response = requests. get( url= url, headers= header)
text = response. content. decode( 'utf-8' )
利用BeautifulSoup库提取天气信息
上面我们分析了目标网页源代码,知道了我们所需要的信息所在的区域,利用BeautifulSoup库获取。 若没有安装则运行cmd 命令,输入pip install bs4 进行安装
from bs4 import BeautifulSoup
ALL_DATA = [ ]
soup = BeautifulSoup( text, 'lxml' )
conMidtab = soup. find( 'div' , class_= 'conMidtab' )
tables = conMidtab. find_all( 'table' )
for table in tables:
trs = table. find_all( 'tr' ) [ 2 : ]
for tr in trs:
tds = tr. find_all( 'td' )
chengs = list ( tds[ - 8 ] . stripped_strings) [ 0 ]
maxtemp = list ( tds[ - 5 ] . stripped_strings) [ 0 ]
mintemp = list ( tds[ - 2 ] . stripped_strings) [ 0 ]
ALL_DATA. append( {
"城市" : chengs, "最高气温" : int ( maxtemp) , "最低气温" : int ( mintemp) } )
ALL_DATA 就是我们所需要的全部信息。
港澳台地区代码分析
因为在港澳台地区天气数据的网页代码,并不知道严格的标准html语法,标签并不成对出现 。因此使用lxml解析就会出错 。这里应该使用容错能力强的html5lib 进行解析。但是html5lib进行解析的话会比使用lxml解析慢不少,因此除港澳台以为我们依然采用lxml进行解析。 若没有安装则运行cmd 命令,输入pip install html5lib 进行安装
urls = {
'http://www.weather.com.cn/textFC/hb.shtml' ,
'http://www.weather.com.cn/textFC/db.shtml' ,
'http://www.weather.com.cn/textFC/hd.shtml' ,
'http://www.weather.com.cn/textFC/hz.shtml' ,
'http://www.weather.com.cn/textFC/hn.shtml' ,
'http://www.weather.com.cn/textFC/xb.shtml' ,
'http://www.weather.com.cn/textFC/xn.shtml'
}
for url in urls:
parse_page( url, 'lxml' )
url_gat = 'http://www.weather.com.cn/textFC/gat.shtml'
parse_page( url_gat, 'html5lib' )
分析数据
将ALL_DATA 进行排序,获取前十位数据(最低气温)和后十位数据(最高气温)。
ALL_DATA. sort( key= lambda data: data[ "最低气温" ] )
min_data = ALL_DATA[ : 10 ]
max_data = ALL_DATA[ - 10 : - 1 ]
数据可视化
这里要用到pyecharts库 安装方法:运行cmd 命令,输入pip install bs4
cities_min = list ( map ( lambda x: x[ "城市" ] , min_data) )
cities_max = list ( map ( lambda x: x[ "城市" ] , max_data) )
min_temp = list ( map ( lambda x: x[ "最低气温" ] , min_data) )
max_temp = list ( map ( lambda x: x[ "最高气温" ] , max_data) )
bar1 = Bar( )
bar1. add_xaxis( cities_min)
bar1. add_yaxis( "气温/℃" , min_temp)
bar1. set_global_opts( title_opts= {
"text" : "中国城市气温排行榜" , "subtext" : "最低气温" } )
bar1. render( "最低气温.html" )
bar2 = Bar( )
bar2. add_xaxis( cities_max)
bar2. add_yaxis( "气温/℃" , max_temp)
bar2. set_global_opts( title_opts= {
"text" : "中国城市气温排行榜" , "subtext" : "最高气温" } )
bar2. render( "最高气温.html" )
结果展示
在代码所在目录自动生成 最低气温.html 文件和最高气温.html 文件。
打开文件:最低气温.html
2021.2.28
打开文件:最高气温.html
2021.2.28
总结
首先分析网页代码,找到所需信息对应的标签,然后对信息进行提取。再使用可视化工具库进行可视化操作。 中国天气网网站源代码简单,易于获取天气信息,非常适合新手来练习。最后附整个源代码! 重申:本篇博客在于记录本人学习爬虫过程中的一些项目案例,如有错误还请大家批评指正! 如需引用则请注明出处!感谢大家阅读!
最后附整个源代码!
import requests
from bs4 import BeautifulSoup
from pyecharts. charts import Bar
ALL_DATA = [ ]
def parse_page ( url, jiex) :
header = {
'User-Agent' : 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.77 Safari/537.36' ,
}
response = requests. get( url= url, headers= header)
text = response. content. decode( 'utf-8' )
soup = BeautifulSoup( text, jiex)
conMidtab = soup. find( 'div' , class_= 'conMidtab' )
tables = conMidtab. find_all( 'table' )
for table in tables:
trs = table. find_all( 'tr' ) [ 2 : ]
for tr in trs:
tds = tr. find_all( 'td' )
chengs = list ( tds[ - 8 ] . stripped_strings) [ 0 ]
maxtemp = list ( tds[ - 5 ] . stripped_strings) [ 0 ]
mintemp = list ( tds[ - 2 ] . stripped_strings) [ 0 ]
ALL_DATA. append( {
"城市" : chengs, "最高气温" : int ( maxtemp) , "最低气温" : int ( mintemp) } )
def main ( ) :
urls = {
'http://www.weather.com.cn/textFC/hb.shtml' ,
'http://www.weather.com.cn/textFC/db.shtml' ,
'http://www.weather.com.cn/textFC/hd.shtml' ,
'http://www.weather.com.cn/textFC/hz.shtml' ,
'http://www.weather.com.cn/textFC/hn.shtml' ,
'http://www.weather.com.cn/textFC/xb.shtml' ,
'http://www.weather.com.cn/textFC/xn.shtml'
}
for url in urls:
parse_page( url, 'lxml' )
url_gat = 'http://www.weather.com.cn/textFC/gat.shtml'
parse_page( url_gat, 'html5lib' )
ALL_DATA. sort( key= lambda data: data[ "最低气温" ] )
min_data = ALL_DATA[ : 10 ]
max_data = ALL_DATA[ - 10 : - 1 ]
cities_min = list ( map ( lambda x: x[ "城市" ] , min_data) )
cities_max = list ( map ( lambda x: x[ "城市" ] , max_data) )
min_temp = list ( map ( lambda x: x[ "最低气温" ] , min_data) )
max_temp = list ( map ( lambda x: x[ "最高气温" ] , max_data) )
bar1 = Bar( )
bar1. add_xaxis( cities_min)
bar1. add_yaxis( "气温/℃" , min_temp)
bar1. set_global_opts( title_opts= {
"text" : "中国城市气温排行榜" , "subtext" : "最低气温" } )
bar1. render( "最低气温.html" )
bar2 = Bar( )
bar2. add_xaxis( cities_max)
bar2. add_yaxis( "气温/℃" , max_temp)
bar2. set_global_opts( title_opts= {
"text" : "中国城市气温排行榜" , "subtext" : "最高气温" } )
bar2. render( "最高气温.html" )
if __name__ == '__main__' :
main( )
你可能感兴趣的:(Python爬虫,可视化,python,大数据,数据分析,爬虫)
如何优化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猫公众号给大家准备了一些红包封面,免费领取哟~)以下是本期摘要:文章&教程①优
【2025优质学术推荐】征稿控制科学、仪器、智能系统、通信、计算机、电子信息、人工智能、大数据、机器学习、软件工程、网络安全方向
努力学习的大大
学术会议推荐 人工智能 大数据 深度学习 神经网络
【2025优质学术推荐】征稿控制科学、仪器、智能系统、通信、计算机、电子信息、人工智能、大数据、机器学习、软件工程、网络安全方向【2025优质学术推荐】征稿控制科学、仪器、智能系统、通信、计算机、电子信息、人工智能、大数据、机器学习、软件工程、网络安全方向文章目录【2025优质学术推荐】征稿控制科学、仪器、智能系统、通信、计算机、电子信息、人工智能、大数据、机器学习、软件工程、网络安全方向2025
一、新手学习爬虫第一课 对网站发起请求(基于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:端口,
threejs——无人机概念切割效果
孙华鹏
无人机 cocos2d 游戏引擎
主要技术采用着色器的切割渲染,和之前写的风车可视化的文章不同,这次的切割效果是在着色器的基础上实现的,并新增了很多可调节的变量,兄弟们,走曲儿~线上演示地址,点击体验源码下载地址,点击下载正文从图中大概可以看出以下信息,一个由线组成的无人机模型,一个由粒子组成的无人机模型,那么这些粒子、线都是从一个无人机的gltf模型中提取出来的,无人机模型由很多个小的Mesh组成的一个大的group,那么为了着
django项目部署ubuntu服务器,Ubuntu部署Django项目方法详解
weixin_39965075
教程使用的软件版本:Ubuntu18.04.1LTS,django2.0,Python3.6.5、nginx-1.13.7、uWSGI(2.0.17.1),Ubuntu是纯净的,全新的。下面我们开始来部署。如果觉得看文字没意思,想看视频教程的,请点击这里:Django项目部署视频教程一、更新操作系统和安装依赖包#更新操作系统软件库sudoapt-getupdatesudoapt-getupgrad
python模块os和 importlib实战指南
ivwdcwso
开发 运维 python 服务器 运维 开发 devops
os和importlib是Python中两个非常强大的模块,分别用于与操作系统交互和动态导入模块。本文将通过实际代码示例,展示如何在实际项目中使用这两个模块,帮助你更好地理解它们的用途和应用场景。©ivwdcwso(ID:u012172506)1.os模块实战os模块主要用于与操作系统交互,例如读取环境变量、操作文件路径、执行系统命令等。以下是os模块的常见实战场景。1.1读取环境变量在开发中,我
Django 日志配置实战指南
ivwdcwso
django 数据库 sqlite python 开发
日志是Django项目中不可或缺的一部分,它帮助我们记录应用程序的运行状态、调试信息、错误信息等。通过合理配置日志,我们可以更好地监控和调试应用程序。本文将详细介绍如何在Django项目中实现日志文件分割、日志级别控制以及多环境日志配置,并结合最佳实践和代码示例,帮助你全面掌握Django日志的使用。1.日志级别概述Python的日志模块定义了以下日志级别(从低到高):DEBUG:详细的调试信息,
Django WSGI 异步处理和多线程的实战指南
penmily
django python
1.DjangoWSGI的架构和工作原理Django作为Python编程语言中最受欢迎的web框架之一,其WSGI(WebServerGatewayInterface)支持为应用的扩展性和性能优化提供了基础。本章将介绍DjanogWSGI架构的基本组成,阐述其工作原理,并分析它是如何使得Django应用能够与各种web服务器进行交互的。1.1WSGI架构的组成WSGI是Python的一种协议,定义
Github上最热门的11个Java开源项目你会了吗
Java小叮当
项目 Github 项目 java 程序员 IT
前言4月份GitHub上最热门的Java开源项目排行已经出炉啦,一起来看看吧!1JimuReport(地址见文末)这是一款免费的数据可视化工具,报表与大屏设计!类似于excel操作风格,在线拖拽完成报表设计!功能涵盖:报表设计、图形报表、打印设计、大屏设计等,永久免费!2dolphinscheduler(地址见文末)ApacheDolphinScheduler是一个可视化的分布式大数据工作流任务调
Python-Django 开源项目实战指南
贾蕙梅Wayne
Python-Django开源项目实战指南python-djangoOpenTracinginstrumentationfortheDjangoframework项目地址:https://gitcode.com/gh_mirrors/py/python-django项目介绍Python-DjangoOpenTracing扩展是由OpenTracing社区贡献的一个开源项目,专为Django框架设计
由于直接展示多种编程语言的全套游戏代码会相当冗长,我将为你概述一个简单的小游戏——猜数字游戏,并用几种流行的编程语言(Python, JavaScript, C++, Java)给出其核心逻辑的代码片
IsaacHornby
游戏 python javascript
Python版本ftinc.cnPython版本非常直观,适合初学者。pythonimportrandomdefguess_number_game():number_to_guess=random.randint(1,100)guess=Noneattempts=0print("我想了一个1到100之间的数字,你能猜到是哪个吗?")whileguess!=number_to_guess:try:g
Python数据分析案例教程
kkchenjj
数据挖掘 python 数据分析 信息可视化
Python数据分析案例教程Python在数据分析中的应用Python因其简洁的语法、强大的库支持以及广泛的社区资源,已成为数据分析领域的首选语言。它能够处理从数据清洗、数据可视化到机器学习模型构建的整个数据科学流程。本节将深入探讨Python在数据分析中的具体应用,包括但不限于数据清洗、数据探索、统计分析和预测建模。数据清洗数据清洗是数据分析的首要步骤,涉及处理缺失值、异常值、重复数据以及数据类
python中json的用法总结
小疯子呀
python基础
一、json的概念json是一种通用的数据类型一般情况下接口返回的数据类型都是json长得像字典,形式也是k-v{}其实json是字符串字符串不能用key、value来取值,所以要先转换为字典才可以使用JSON函数,需要先导入importjson二、json的相关方法1、json.dumps:将Python对象编码成JSON字符串2、json.loads:将已编码的JSON字符串解码为Python
2025年新出炉的MySQL面试题
长风清留扬
150道MySQL高频面试题 mysql 数据库 面试 sql
作者简介:CSDN\阿里云\腾讯云\华为云开发社区优质创作者,专注分享大数据、Python、数据库、人工智能等领域的优质内容个人主页:长风清留杨的博客形式准则:无论成就大小,都保持一颗谦逊的心,尊重他人,虚心学习。✨推荐专栏:Python入门到入魔,Mysql入门到入魔,Python入门基础大全,Flink入门到实战若缘分至此,无法再续相逢,愿你朝朝暮暮,皆有安好,晨曦微露道早安,日中炽热说午安,
精选了几道MySQL的大厂面试题,被提问的几率很高!
长风清留扬
150道MySQL高频面试题 mysql android 数据库 面试 学习 MySQL面试
作者简介:CSDN\阿里云\腾讯云\华为云开发社区优质创作者,专注分享大数据、Python、数据库、人工智能等领域的优质内容个人主页:长风清留杨的博客形式准则:无论成就大小,都保持一颗谦逊的心,尊重他人,虚心学习。✨推荐专栏:Python入门到入魔,Mysql入门到入魔,Python入门基础大全,Flink入门到实战若缘分至此,无法再续相逢,愿你朝朝暮暮,皆有安好,晨曦微露道早安,日中炽热说午安,
有史以来最全的异常类讲解没有之一!第二部分爆肝2万字,终于把Python的异常类写完了!最全Python异常类合集和案例演示,第二部分
长风清留扬
最新Python入门基础合集 python 笔记 学习 异常处理 改行学it 异常 BUG
本文是第二部分,第一部分请看:有史以来最全的异常类讲解没有之一!爆肝3万字,终于把Python的异常类写完了!最全Python异常类合集和案例演示,第一部分博客主页:长风清留扬-CSDN博客系列专栏:Python基础专栏每天更新大数据相关方面的技术,分享自己的实战工作经验和学习总结,尽量帮助大家解决更多问题和学习更多新知识,欢迎评论区分享自己的看法感谢大家点赞收藏⭐评论异常类型IndexError
有史以来最全的异常类讲解没有之一!第三部分爆肝4万字,终于把Python的异常类写完了!最全Python异常类合集和案例演示,第三部分
长风清留扬
最新Python入门基础合集 python 面试 异常处理 BUG 异常类型 职场和发展 改行学it
本文是第三部分,第一第二部分请看:有史以来最全的异常类讲解没有之一!爆肝3万字,终于把Python的异常类写完了!最全Python异常类合集和案例演示,第一部分有史以来最全的异常类讲解没有之一!第二部分爆肝2万字,终于把Python的异常类写完了!最全Python异常类合集和案例演示,第二部分博客主页:长风清留扬-CSDN博客系列专栏:Python基础专栏每天更新大数据相关方面的技术,分享自己的实
还在为Python“运算符”中遇到的BUG而发愁吗?,变量相关的问题和解决办法看这篇文章就够了!
长风清留扬
android python bug 运算符
博客主页:长风清留扬-CSDN博客系列专栏:Python疑难杂症百科-BUG编年史每天更新大数据相关方面的技术,分享自己的实战工作经验和学习总结,尽量帮助大家解决更多问题和学习更多新知识,欢迎评论区分享自己的看法感谢大家点赞收藏⭐评论关于运算符中常见的问题和解决方法在Python编程的浩瀚宇宙中,变量如同星辰般璀璨,它们承载着数据,驱动着程序的运行。然而,即便是这些看似简单的构建块,也时常隐藏着令
Python全网最全基础课程笔记(十三)——作用域,跟着思维导图和图文来学习,爆肝2w字,无数代码案例!
长风清留扬
最新Python入门基础合集 python 笔记 学习 作用域 面试 跳槽 改行学it
本专栏系列为Pythong基础系列,每篇内容非常全面,包含全网各个知识点,非常长,请耐心看完。每天都会更新新的内容,搜罗全网资源以及自己在学习和工作过程中的一些总结,可以说是非常详细和全面。以至于为什么要写的这么详细:自己也是学过Python的,很多新手只是简单的过一篇语法,其实对于一个知识点的底层逻辑和其他使用方法以及参数详情根本不是很了解,这就导致学完很容易忘记,而且在实战过程中也是半知半解,
Python全网最全基础课程笔记(三)——所有运算符+运算符优先级
长风清留扬
最新Python入门基础合集 开发语言 python 运算符 Python基础 numpy pandas pip
本专栏系列为Pythong基础系列,每天都会更新新的内容,搜罗全网资源以及自己在学习和工作过程中的一些总结,可以说是非常详细和全面。以至于为什么要写的这么详细:自己也是学过Python的,很多新手只是简单的过一篇语法,其实对于一个知识点的底层逻辑和其他使用方法以及参数详情根本不是很了解,这就导致学完很容易忘记,而且在实战过程中也是半知半解,所以自己就尽量写的详细些,让需要的人能更了解Python的
python中json的使用
余生的观澜
python技术栈 json python 开发语言
问题与背景在python中对json的使用无非就是以下几种:dict转json字符串json字符串转dictdict类型写入json文件json文件读取为dict类型解决方案与总结变量类型的映射dict与json互相转化importjsontesdic={'name':'Tom','age':18,'score':{'math':98,'chinese':99}}print(type(tesdic
金融数据有哪些,有用的股票API接口数据
nance99
金融 python git
一、金融数据有哪些,有用的股票API接口行情数据金融大数据是为金融机构、个人投资者以及金融应用开发者提供专业的数据和行情报价API服务,满足不同用户在投资过程中丰富多样的行情数据分析和投资研究,以API接口形式为用户提供行情数据API服务,提供的数据包括市场行情、财报、宏观等,还有基于文本分析的股票关联数据。对金融机构或者投资者而言,金融数据是企业财富。实时数据对企业成功至关重要,股票行情数据种类
jQuery 键盘事件keydown ,keypress ,keyup介绍
107x
js jquery keydown keypress keyup
本文章总结了下些关于jQuery 键盘事件keydown ,keypress ,keyup介绍,有需要了解的朋友可参考。
一、首先需要知道的是: 1、keydown() keydown事件会在键盘按下时触发. 2、keyup() 代码如下 复制代码
$('input').keyup(funciton(){  
AngularJS中的Promise
bijian1013
JavaScript AngularJS Promise
一.Promise
Promise是一个接口,它用来处理的对象具有这样的特点:在未来某一时刻(主要是异步调用)会从服务端返回或者被填充属性。其核心是,promise是一个带有then()函数的对象。
为了展示它的优点,下面来看一个例子,其中需要获取用户当前的配置文件:
var cu
c++ 用数组实现栈类
CrazyMizzz
数据结构 C++
#include<iostream>
#include<cassert>
using namespace std;
template<class T, int SIZE = 50>
class Stack{
private:
T list[SIZE];//数组存放栈的元素
int top;//栈顶位置
public:
Stack(
java和c语言的雷同
麦田的设计者
java 递归 scaner
软件启动时的初始化代码,加载用户信息2015年5月27号
从头学java二
1、语言的三种基本结构:顺序、选择、循环。废话不多说,需要指出一下几点:
a、return语句的功能除了作为函数返回值以外,还起到结束本函数的功能,return后的语句
不会再继续执行。
b、for循环相比于whi
LINUX环境并发服务器的三种实现模型
被触发
linux
服务器设计技术有很多,按使用的协议来分有TCP服务器和UDP服务器。按处理方式来分有循环服务器和并发服务器。
1 循环服务器与并发服务器模型
在网络程序里面,一般来说都是许多客户对应一个服务器,为了处理客户的请求,对服务端的程序就提出了特殊的要求。
目前最常用的服务器模型有:
·循环服务器:服务器在同一时刻只能响应一个客户端的请求
·并发服务器:服
Oracle数据库查询指令
肆无忌惮_
oracle数据库
20140920
单表查询
-- 查询************************************************************************************************************
-- 使用scott用户登录
-- 查看emp表
desc emp
ext右下角浮动窗口
知了ing
JavaScript ext
第一种
<!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/1999/
浅谈REDIS数据库的键值设计
矮蛋蛋
redis
http://www.cnblogs.com/aidandan/
原文地址:http://www.hoterran.info/redis_kv_design
丰富的数据结构使得redis的设计非常的有趣。不像关系型数据库那样,DEV和DBA需要深度沟通,review每行sql语句,也不像memcached那样,不需要DBA的参与。redis的DBA需要熟悉数据结构,并能了解使用场景。
maven编译可执行jar包
alleni123
maven
http://stackoverflow.com/questions/574594/how-can-i-create-an-executable-jar-with-dependencies-using-maven
<build>
<plugins>
<plugin>
<artifactId>maven-asse
人力资源在现代企业中的作用
百合不是茶
HR 企业管理
//人力资源在在企业中的作用人力资源为什么会存在,人力资源究竟是干什么的 人力资源管理是对管理模式一次大的创新,人力资源兴起的原因有以下点: 工业时代的国际化竞争,现代市场的风险管控等等。所以人力资源 在现代经济竞争中的优势明显的存在,人力资源在集团类公司中存在着 明显的优势(鸿海集团),有一次笔者亲自去体验过红海集团的招聘,只 知道人力资源是管理企业招聘的 当时我被招聘上了,当时给我们培训 的人
Linux自启动设置详解
bijian1013
linux
linux有自己一套完整的启动体系,抓住了linux启动的脉络,linux的启动过程将不再神秘。
阅读之前建议先看一下附图。
本文中假设inittab中设置的init tree为:
/etc/rc.d/rc0.d
/etc/rc.d/rc1.d
/etc/rc.d/rc2.d
/etc/rc.d/rc3.d
/etc/rc.d/rc4.d
/etc/rc.d/rc5.d
/etc
Spring Aop Schema实现
bijian1013
java spring AOP
本例使用的是Spring2.5
1.Aop配置文件spring-aop.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans
xmlns="http://www.springframework.org/schema/beans"
xmln
【Gson七】Gson预定义类型适配器
bit1129
gson
Gson提供了丰富的预定义类型适配器,在对象和JSON串之间进行序列化和反序列化时,指定对象和字符串之间的转换方式,
DateTypeAdapter
public final class DateTypeAdapter extends TypeAdapter<Date> {
public static final TypeAdapterFacto
【Spark八十八】Spark Streaming累加器操作(updateStateByKey)
bit1129
update
在实时计算的实际应用中,有时除了需要关心一个时间间隔内的数据,有时还可能会对整个实时计算的所有时间间隔内产生的相关数据进行统计。
比如: 对Nginx的access.log实时监控请求404时,有时除了需要统计某个时间间隔内出现的次数,有时还需要统计一整天出现了多少次404,也就是说404监控横跨多个时间间隔。
Spark Streaming的解决方案是累加器,工作原理是,定义
linux系统下通过shell脚本快速找到哪个进程在写文件
ronin47
一个文件正在被进程写 我想查看这个进程 文件一直在增大 找不到谁在写 使用lsof也没找到
这个问题挺有普遍性的,解决方法应该很多,这里我给大家提个比较直观的方法。
linux下每个文件都会在某个块设备上存放,当然也都有相应的inode, 那么透过vfs.write我们就可以知道谁在不停的写入特定的设备上的inode。
幸运的是systemtap的安装包里带了inodewatch.stp,位
java-两种方法求第一个最长的可重复子串
bylijinnan
java 算法
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
public class MaxPrefix {
public static void main(String[] args) {
String str="abbdabcdabcx";
Netty源码学习-ServerBootstrap启动及事件处理过程
bylijinnan
java netty
Netty是采用了Reactor模式的多线程版本,建议先看下面这篇文章了解一下Reactor模式:
http://bylijinnan.iteye.com/blog/1992325
Netty的启动及事件处理的流程,基本上是按照上面这篇文章来走的
文章里面提到的操作,每一步都能在Netty里面找到对应的代码
其中Reactor里面的Acceptor就对应Netty的ServerBo
servelt filter listener 的生命周期
cngolon
filter listener servelt 生命周期
1. servlet 当第一次请求一个servlet资源时,servlet容器创建这个servlet实例,并调用他的 init(ServletConfig config)做一些初始化的工作,然后调用它的service方法处理请求。当第二次请求这个servlet资源时,servlet容器就不在创建实例,而是直接调用它的service方法处理请求,也就是说
jmpopups获取input元素值
ctrain
JavaScript
jmpopups 获取弹出层form表单
首先,我有一个div,里面包含了一个表单,默认是隐藏的,使用jmpopups时,会弹出这个隐藏的div,其实jmpopups是将我们的代码生成一份拷贝。
当我直接获取这个form表单中的文本框时,使用方法:$('#form input[name=test1]').val();这样是获取不到的。
我们必须到jmpopups生成的代码中去查找这个值,$(
vi查找替换命令详解
daizj
linux 正则表达式 替换 查找 vim
一、查找
查找命令
/pattern<Enter> :向下查找pattern匹配字符串
?pattern<Enter>:向上查找pattern匹配字符串
使用了查找命令之后,使用如下两个键快速查找:
n:按照同一方向继续查找
N:按照反方向查找
字符串匹配
pattern是需要匹配的字符串,例如:
1: /abc<En
对网站中的js,css文件进行打包
dcj3sjt126com
PHP 打包
一,为什么要用smarty进行打包
apache中也有给js,css这样的静态文件进行打包压缩的模块,但是本文所说的不是以这种方式进行的打包,而是和smarty结合的方式来把网站中的js,css文件进行打包。
为什么要进行打包呢,主要目的是为了合理的管理自己的代码 。现在有好多网站,你查看一下网站的源码的话,你会发现网站的头部有大量的JS文件和CSS文件,网站的尾部也有可能有大量的J
php Yii: 出现undefined offset 或者 undefined index解决方案
dcj3sjt126com
undefined
在开发Yii 时,在程序中定义了如下方式:
if($this->menuoption[2] === 'test'),那么在运行程序时会报:undefined offset:2,这样的错误主要是由于php.ini 里的错误等级太高了,在windows下错误等级
linux 文件格式(1) sed工具
eksliang
linux linux sed工具 sed工具 linux sed详解
转载请出自出处:
http://eksliang.iteye.com/blog/2106082
简介
sed 是一种在线编辑器,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾
Android应用程序获取系统权限
gqdy365
android
引用
如何使Android应用程序获取系统权限
第一个方法简单点,不过需要在Android系统源码的环境下用make来编译:
1. 在应用程序的AndroidManifest.xml中的manifest节点
HoverTree开发日志之验证码
hvt
.net C# asp.net hovertree webform
HoverTree是一个ASP.NET的开源CMS,目前包含文章系统,图库和留言板功能。代码完全开放,文章内容页生成了静态的HTM页面,留言板提供留言审核功能,文章可以发布HTML源代码,图片上传同时生成高品质缩略图。推出之后得到许多网友的支持,再此表示感谢!留言板不断收到许多有益留言,但同时也有不少广告,因此决定在提交留言页面增加验证码功能。ASP.NET验证码在网上找,如果不是很多,就是特别多
JSON API:用 JSON 构建 API 的标准指南中文版
justjavac
json
译文地址:https://github.com/justjavac/json-api-zh_CN
如果你和你的团队曾经争论过使用什么方式构建合理 JSON 响应格式, 那么 JSON API 就是你的 anti-bikeshedding 武器。
通过遵循共同的约定,可以提高开发效率,利用更普遍的工具,可以是你更加专注于开发重点:你的程序。
基于 JSON API 的客户端还能够充分利用缓存,
数据结构随记_2
lx.asymmetric
数据结构 笔记
第三章 栈与队列
一.简答题
1. 在一个循环队列中,队首指针指向队首元素的 前一个 位置。
2.在具有n个单元的循环队列中,队满时共有 n-1 个元素。
3. 向栈中压入元素的操作是先 移动栈顶指针&n
Linux下的监控工具dstat
网络接口
linux
1) 工具说明dstat是一个用来替换 vmstat,iostat netstat,nfsstat和ifstat这些命令的工具, 是一个全能系统信息统计工具. 与sysstat相比, dstat拥有一个彩色的界面, 在手动观察性能状况时, 数据比较显眼容易观察; 而且dstat支持即时刷新, 譬如输入dstat 3, 即每三秒收集一次, 但最新的数据都会每秒刷新显示. 和sysstat相同的是,
C 语言初级入门--二维数组和指针
1140566087
二维数组 c/c++ 指针
/*
二维数组的定义和二维数组元素的引用
二维数组的定义:
当数组中的每个元素带有两个下标时,称这样的数组为二维数组;
(逻辑上把数组看成一个具有行和列的表格或一个矩阵);
语法:
类型名 数组名[常量表达式1][常量表达式2]
二维数组的引用:
引用二维数组元素时必须带有两个下标,引用形式如下:
例如:
int a[3][4]; 引用:
10点睛Spring4.1-Application Event
wiselyman
application
10.1 Application Event
Spring使用Application Event给bean之间的消息通讯提供了手段
应按照如下部分实现bean之间的消息通讯
继承ApplicationEvent类实现自己的事件
实现继承ApplicationListener接口实现监听事件
使用ApplicationContext发布消息