在信息化越来越发达的今天,网上的数据数不胜数。当你想获取某些资源或种子的时候,如果单纯的靠手动自己一个个去下载,是非常的繁琐和浪费时间。这个时候,我们的python爬虫技术就可以派上用场了。但你可能并不会写爬虫,不要着急,跟着我的文章看下去。我将带你入门爬虫技术,让你从此不用再为资源发愁,而是为身体发愁。
步骤一、环境的安装:
首先,在官网https://www.anaconda.com/download/下载一个与自己电脑系统相匹配的Anaconda3版本。
找到Anaconda3文件夹并打开,再找到Scripts并打开,找到idle.exe。
双击idle.exe运行,就可以在其中敲Python代码来制作爬虫。
步骤二、爬虫准备:
准备好自己需要爬取网站的地址,例如:对国防科大录取分数线网站的爬取,我们需要知道国防科大的一些基本的网站地址,然后根据URL获取网页。
步骤三、开始爬虫
1)根据URL获取网页
1.首先我们需要导入两个常用的库,URL处理模块和RE包:.
import urllib.request as req
import re
2.找到它的网址,存储到url变量名中。
url = 'http://www.gotonudt.cn/site/gfkdbkzsxxw/lqfs/index.html'
3.创建一个表示远程url的类文件对象,并将其打开
webpage=req.urloprn(url)
4.读取网页的所有数据,并转换为uft-8编码进行存储(此处编码可以自己查看网页所用的编码,然后设置成相应的编码)
data = webpage.read().decode('utf-8')
完整代码如下:
import urllib.request as req
url = 'http://www.gotonudt.cn/site/gfkdbkzsxxw/lqfs/index.html'
webpage = req.urlopen(url)
data = webpage.read().decode('utf-8')
print(data)
2)网页数据存入文件
1.需要先打开一个文件,并执行写入的操作
2.将网页数据写入文件
outfile.write(data)
outfile.close#在写完数据后将打开的文件关闭
3)提取链接
1.我们需要通过查看之前保存下来的数据,找到我们需要的关键信息,此处我们是查找录取分数线,所以我们需要在数据中找到跟此有关的信息段。如图:
2.我们需要对相应的链接进行提取,一得到我们需要的关键的地址。例如对2017年的链接进行提取。
index = data.find('国防科技大学2017年录取分数统计')
href = data[index-100:index].split('"')[3] # 提取url子串
# href是相对URL,需要加上站点域名
website = 'http://www.gotonudt.cn'
url = website+href
print(url)
4)根据超链接抓取并保存链接网页内容:
webpage = req.urlopen(url) # 根据超链访问链接的网页
data = webpage.read() # 读取超链网页数据
outfile = open("2017年.txt"%url[0], 'wb') # 按二进制写方式打开文件(文件名可以自己任意命名)
outfile.write(data) # 将网页数据写入文件
outfile.close() # 关闭文件
5)根据获得的网址,通过浏览器打开,查看网页的数据,然后分析自己所要提取的数据有何特点。而此处我们可以发现,我们需要提取的分数数据,在网页中是以表格的形式存在。所以下一步我们需要提取网页中的表格。
6)提取表格
1.通过查看网页源代码,我们可以知道,表格在网页数据中是以
的形式存在。 2.提取表格需要用到我们在前文中提到的RE包,即正规表达式包。 3.提取表格所用到的正规表达式为:
'(.*?)'
4.代码如下:
webpage = req.urlopen(url)
data = webpage.read().decode('utf-8')
# 获取网页中的第一个表格中所有内容:
table = re.findall(r'', data, re.S)
firsttable = table[0]
7)提取表格中的行
根据提取到的表格数据,我们可以发现,我们需要将每一行每一列中的数据提取出来,才能得到我们只需要的分数数据。所以我们先提取每一行,再提取每一列。
提取行所使用的正规表达式为:
''
rows = re.findall(r'', firsttable, re.S)
8)提取行中的每一列
通过分析行中的数据,我们可以得到每个分数的前后存在'…>640…'
这样一个特征字符串,所以我们可以通过这个特殊的字符串进一步提取我们需要的数据
r'(.*?)'
scorelist = []
for row in rows:
items = []
tds = re.findall(r'(.*?)', row, re.S)
for td in tds:
rightindex = td.find('')
if rightindex!=-1:
leftindex = td[:rightindex].rfind('>')
item=td[leftindex+1:rightindex]
items.append(item)
scorelist.append(items)
outfile=open('2017年国防科技大学分数线.txt'%, 'w')
for score in scorelist:
for each in score:
outfile.write('%s\t'%each)
outfile.write('\n')
outfile.close()
9)数据清洗
此时我们通过查看得到的数据会发现,得到的数据还会存在我们不想要的内容,比如:空格符号( ),所以我们需要对数据内部进行清洗。
数据前后的清洗使用可以使用:x.strip()
,比如此处,我们可以通过x.replace(' ', '')
语句,将空格符号去掉。从而得到我们所需要的理想数据文档。
10)完整代码
大家可以先尝试通过前面的知识,自己一步步进行获取,如果实在无法得到想要的数据,可以参考以下代码:
import urllib.request as req
import re
url = 'http://www.gotonudt.cn/site/gfkdbkzsxxw/lqfs/index.html'
webpage = req.urlopen(url)
data = webpage.read().decode('utf-8')
index = data.find('国防科技大学2017年录取分数统计')
href = data[index-100:index].split('"')[3] # 提取url子串
# href是相对URL,需要加上站点域名
website = 'http://www.gotonudt.cn'
url = website+href
webpage = req.urlopen(url)
data = webpage.read().decode('utf-8')
# 获取网页中的第一个表格中所有内容:
table = re.findall(r'', data, re.S)
firsttable = table[0]
firsttable = firsttable.replace(' ','')# 在html网页中空格经常用 表示,此处将 去掉:
rows = re.findall(r'', firsttable, re.S)
scorelist = []
for row in rows:
items = []
tds = re.findall(r'(.*?)', row, re.S)
for td in tds:
rightindex = td.find('')
if rightindex!=-1:
leftindex = td[:rightindex].rfind('>')
item=td[leftindex+1:rightindex]
items.append(item)
scorelist.append(items)
outfile=open('2017年国防科技大学分数线.txt', 'w')
for score in scorelist:
for each in score:
outfile.write('%s\t'%each)
outfile.write('\n')
outfile.close()
谢谢各位读者的阅读!!!!
悄咪咪的给大家送上一段获取图片的代码供大家参考学习,喜欢的可以点个赞,送颗小心心哦!
from urllib import request
import re
def getReq
(url):
url_req = request.urlopen
(url) #打开一个url
return url_req
#返回这个对象
def getJpg(data):
jpglist = re.findall
(r'src="http.+?.jpg"',data
)
return jpglist
def getHtml(data):
htmllist = re.findall
(r'href=".+?.html"',data
)
return htmllist
def downLoad
(jpgUrl,n):
try:
request.urlretrieve
(jpgUrl,'%s.jpg' %n)
except Exception as e:
print(e)
finally:
print('图片%s下载操作完成' % n)
def getAllJpg
(urllist):
index=0
jpegnum=1
while index<= len
(urllist):
try:
http_req = getReq
(urllist[index]) #拿到http请求后的上下文对象
# data = http_req.read().decode('GB2312','ignore') #获取网页数据
data = http_req.read().decode('gb18030','ignore') #获取网页数据
htmllist
=getHtml(data)
print(htmllist
)
for hl in htmllist
:
newurl = urllist[0]+hl.split('"')[1][1:]
if newurl not in urllist
:
urllist.append
(urllist[0]+hl.split('"')[1][1:])
jpglist = getJpg(data)
for jurl in jpglist
:
s = re.findall
(r'http.+?.jpg',jurl
)
print(s)
downLoad(s[0],jpegnum
)
jpegnum= jpegnum +1
index = index+1
except Exception as e:
print(e)
pass
urllist=['http://www.daimg.com/']
getAllJpg
(urllist
你可能感兴趣的:(Python入门初体验——网页数据的爬取)
java实现多表代替密码(维吉尼亚密码)
就问你爱信不信
维基利亚密码 java 密码加密解密 密码学 加密解密 java 算法
维吉尼亚密码(又译维热纳尔密码)是使用一系列凯撒密码组成密码字母表的加密算法,属于多表密码的一种简单形式。设d为一固定的正整数,d个位移代换表π=(π1,π2,…,πd),由密钥序列K=(k1,k2,…,kd)给定,第i+td个明文字母由表πi决定。即密钥ki决定加密算法如下:ek(xi+td)=(xi+td+ki)mod(q)e_k(x_{i+td})=(x_{i+td}+k_i)mod(q)e
MTALAB实现多表代替密码(维吉尼亚密码)
就问你爱信不信
matlab加密解密 维吉尼亚密码 密码学 加密解密 算法 matlab
维吉尼亚密码(又译维热纳尔密码)是使用一系列凯撒密码组成密码字母表的加密算法,属于多表密码的一种简单形式。设d为一固定的正整数,d个位移代换表π=(π1,π2,…,πd),由密钥序列K=(k1,k2,…,kd)给定,第i+td个明文字母由表πi决定。即密钥ki决定加密算法如下:ek(xi+td)=(xi+td+ki)mod(q)e_k(x_{i+td})=(x_{i+td}+k_i)mod(q)e
任嘉伦《乌鸦小姐》再获好评,邢菲演技灵动,男女主演默契十足
茯茶
3月份的电视剧市场可以说是百花齐放,放肆藤爱、体面夫妇、卡壳夫妇等几对CP也是让大家十分上头,但相比之下,4月份则比较惨淡了,虽然有几部小甜剧,但都是不温不火。近日,吴强执导,任嘉伦、邢菲领衔主演,刘芮麟、赵奕欢、骏声等人领衔主演的都市浪漫情感剧《乌鸦小姐与蜥蜴先生》正式于4月26日在腾讯视频全网独播。就像这部剧的名字一样,男女主角分别有着乌鸦和蜥蜴的性格,特立独行却也想要温暖,让观众更期待奇特的
【机器学习【9】】评估算法:数据集划分与算法泛化能力评估
roman_日积跬步-终至千里
# 机器学习 机器学习
文章目录一、数据集划分:训练集与评估集二、K折交叉验证:提升评估可靠性1.基本原理1.1.K折交叉验证基本原理1.2.逻辑回归算法与L22.基于K折交叉验证L2算法三、弃一交叉验证(Leave-One-Out)1、基本原理2、代码实现四、ShuffleSplit交叉验证1、基本原理2、为什么能降低方差3、代码测试五、选择建议在机器学习中,评估算法的核心目标是衡量模型在“未知数据”上的表现,而不是仅
我总结的制作酵素快步骤
婷依1988
我总结的制作酵素快步骤:首先将水果喷上果蔬宝,接下来1、桶;2、倒入水6L;3、将大滤芯放入桶内;4、直接将白砂糖倒入水中(不要搅拌,给糖自然融化也很快的,有了加热垫会更快,不一定需要先化糖);5、洗净水果,处理切片(切越小或者越薄越好);6、倒入桶中并搅拌(搅拌时用手按住大滤芯,不要让滤芯随着搅动而转动摩擦到桶壁和桶底)勺子搅动时也尽量不要碰到桶壁和桶底,因为桶壁和桶底有一层还原酶,负责杀菌的;
磁盘分区丢失
620T
磁盘分区丢失,最大的嫌疑是分区表被破坏,因此可以按照下面方法排查磁盘分区信息:1、获取分区表:ddif=/dev/sdkof=gpt.sdkbs=1count=5122、解析分区表hexdump-Cgpt.sdk
Selenium 中 findElement 方法全解析:定位网页元素的 7 种方式
二向箔reverse
selenium 测试工具
在自动化测试和网页数据抓取场景中,准确找到目标元素是核心任务。Selenium提供的findElement方法支持多种定位策略,本文将深入介绍各种搜索模式的完整语法及适用场景。一、CSS选择器定位CSS选择器是定位网页元素的首选方式,它具有语法简洁、性能优异的特点。1.基本选择器元素选择器语法与说明:driver.find_element(By.CSS_SELECTOR,"标签名")通过HTML标
Selenium 性能优化实战:让自动化测试速度提升 60% 的 10 个技巧
二向箔reverse
selenium 性能优化 测试工具
在Web自动化测试中,脚本执行效率直接影响测试反馈周期和资源成本。本文将分享10个经过实战验证的Selenium性能优化技巧,帮助你将测试速度提升60%以上。一、使用无头浏览器模式传统浏览器渲染UI会消耗大量资源,而无头模式(Headless)可以在后台静默执行,显著提升速度。优化前(有UI模式):fromseleniumimportwebdriverdriver=webdriver.Chrome
Selenium 处理动态网页与等待机制详解
二向箔reverse
okhttp
在使用Selenium进行网页自动化操作时,动态网页往往是开发者遇到的第一个“拦路虎”。想象一下:你明明在代码中写好了元素定位逻辑,运行时却频繁报错“元素不存在”,但手动打开网页时元素明明就在眼前——这很可能是因为网页还没加载完成,Selenium就急着执行下一步操作了。本文将深入解析动态网页的特性,系统讲解Selenium的三种等待机制,并通过实战案例告诉你如何优雅地处理动态内容加载问题。一、动
Python 中 sys 库的全面解析与实战应用
二向箔reverse
服务器 python
在Python的众多标准库中,sys库占据着举足轻重的地位。它与Python解释器紧密交互,为开发者提供了访问解释器内部信息和控制解释器行为的强大能力。无论是命令行参数处理、系统环境配置,还是程序退出控制,sys库都能大显身手。本文将带您深入探索sys库的常用功能,通过丰富的实例讲解,助您轻松掌握其使用技巧。sys库的基础认知sys库是Python的内置标准库,无需额外安装,只需通过imports
又下雨了
客愁薪
别来春半,触目愁肠断,砌下落梅如雪乱,拂了一身还满,雁来音信全无,路遥归梦难成,离恨恰似春草,更行更远还生。这是李后主的词,伴着窗外小雨淅淅,甚是应景,雨作雪,风作雁,依然归梦难成不可见,唯有这离恨千古不变。是谁,安排了你我的相遇是谁,让我们彼此相知是谁,把离别化作了这春水,一去不回,带走了你的身影,留下了无限的愁绪。我曾努力将这一切忘记,可窗外又下起了雨,滋润着埋藏在内心深处思念的种子。
python环境安装jupyter
爱分享的胖头鱼
02.Python(基础知识) jupyter ide python python虚拟环境
安装完毕之后下一步可以参考:配置jupyter的启动路径-CSDN博客1前提条件:python环境系统:win10python:本地已经有python,可以查看本地的python版本:C:\Users\PC>python--versionPython3.8.102安装jupyter并启动安装jupyterC:\Users\PC>pipinstalljupyternotebookCollecting
2023-02-19
五年级二班唐子辰
2023年2月19号星期天天气晴亲子日记第578篇陈庄镇中心小学四年级二班唐子辰昨天因为子辰不知道为啥这个哭让她爸爸知道了,她爸爸昨天问她问啥哭,子辰不吭声,反而又在那哭了起来,感觉很冤的意思,她爸爸生气了,刚好子辰的数学试卷在桌子上,她爸爸拿起试卷就窜起来扔了,这样子辰更哭了起来,她爸爸说,你哭就得有个理由,或者有啥事,天天也不说就是哭,哭能解决问题吗?如果能解决问题那都哭吧!子辰还是哭,气的她
【004】 ITK 读取 CT Dicom 数据并使用 VTK 显示
【004】ITK读取CTDicom数据并使用VTK显示文章目录1.CMakeList.txt2.ITK读取CTdicom文件并使用VTK显示代码实现1.CMakeList.txtcmake_minimum_required(VERSION3.5)project(Image2ReadImageLANGUAGESCXX)set(CMAKE_CXX_STANDARD11)set(CMAKE_CXX_ST
2019-05-25
无敌风火轮向前冲鸭
还是会难受,但没有那么难受了,只能渐渐放开,当什么都没发生过,就是普通朋友,今天一天走了那么久,小孩子也走那么多,我头很疼,纯是累的,我的身体太差了,小孩子体力超级好,羡慕,披萨店的人,不好,好了写完了。
无人设备遥控器之航线规划篇
SKYDROID云卓小助手
深度学习 算法 人工智能 单片机 嵌入式硬件
无人设备遥控器的航线规划是确保无人设备(如无人机、无人车、无人船)高效、安全执行任务的核心环节,涉及任务目标设定、路径规划、环境感知与风险评估等多个方面。一、规划步骤目标定义:明确无人设备需要完成的具体任务,如巡检、测绘、侦察、物资运输等。优先级划分:根据任务紧急程度、资源需求等设定优先级,确保关键任务优先执行。约束条件设定:性能限制:考虑无人设备的续航、载荷、通信范围等性能参数。环境约束:避开禁
三轴云台之姿态调节技术篇
三轴云台的姿态调节技术通过机械解耦、传感器融合、智能控制算法及动态补偿机制协同实现,能在复杂运动环境下保持高精度稳定,其核心技术与实现方式如下:一、机械结构优化:三轴解耦与轻量化设计三轴独立驱动解耦俯仰轴(Pitch)、横滚轴(Roll)、航向轴(Yaw)通过无刷电机+编码器+驱动器模块化设计实现运动解耦,避免轴间干扰。应用场景:无人机急转弯时,航向轴优先响应姿态变化,俯仰轴同步补偿相机倾斜,横滚
三轴云台之电机控制技术篇
三轴云台的电机控制技术以无刷直流电机(BLDC)为核心执行单元,结合磁场定向控制(FOC)、闭环反馈、多算法融合及减震设计,实现高精度、低延迟、抗干扰的稳定姿态调整。一、电机选型:无刷直流电机(BLDC)的优势高效率与低噪音BLDC电机通过电子换向替代传统电刷,减少机械摩擦,效率可达90%以上,同时噪音降低10-15dB,满足云台对静音和续航的要求。高精度控制配合编码器(如磁编码器)可实现0.01
三轴云台之控制算法协同技术篇
SKYDROID云卓小助手
人工智能 算法 机器学习 网络 自动化
三轴云台的控制算法协同技术是确保云台在复杂动态环境下实现高精度、高稳定性运动控制的核心,其技术体系涵盖多传感器融合、多算法协同以及多目标优化三个关键维度。以下从技术架构与实现路径展开分析:一、多传感器融合:构建环境感知基础三轴云台通过集成IMU(惯性测量单元)、编码器、视觉传感器等多源数据,构建高鲁棒性的环境感知系统。IMU与编码器融合IMU提供高频率的姿态角速度数据,编码器提供低延迟的关节位置反
《重拾交谈》1.数字时代更需要交谈
tliu223
“如果我的孤独是鱼,想必连鲸鱼都会慑于其巨大与狰狞而逃之夭夭。”伊坂幸太郎书中的这句对白,道尽了数字时代人际关系的状态。科技让人际间的联系越来越便利,却也让人际间的联系变得越来越淡薄。办公室里、餐桌上、地铁里,到处是死死盯着手机屏幕的“低头族”,人际间的往来,似乎变成了无声的世界。这本《重拾交谈》,讲的就是我们应该如何找回“声音”、重拾交谈,在数字时代寻找真正的自我。作者雪莉·特克尔,是麻省理工学
多多买菜自提点怎么赚钱 多多买菜自提门店可以挣钱?能挣多少?
氧惠全网优惠
多多买菜的门店店长是有收益的,而且加入的门槛也比较低,所以现在不少人都在做。那么多多买菜怎么赚钱呢这也是大家比较关心的问题了。下面小编就为大家带来了多多买菜自提点门店赚钱方法介绍,一起来了解下吧!今天再给大家推荐一个无门槛的赚钱项目——【氧惠】适合所有人,普通人也能零投资,零门槛创业!氧惠(全网优惠上氧惠)——是与以往完全不同的抖客+淘客app!2022全新模式,我的直推也会放到你下面,注册送V8
叙事疗法的问话~
showtomato的精彩人生
《叙事治疗的精神与实践》第六章6-1、6-2读后感本章主要围绕叙事治疗的方法与介入技术进行阐述,主要内容涵盖了6类问话,它们分别是:1)反思性问话2)开启空间的问话3)解构式的问话4)意义性的问话5)较喜欢的选择的问话6)发展故事的问话本章阅读起来不仅易于理解,而且让人很感兴趣~其中第6-1节是有关反思性问话的内容,第6-2节是有关开启空间的问话。下面我结合我最近的咨询案例对文章内容进行理解和分析
面善心狠的乡绅张静斋:读《儒林外史》第四回
霜晨月夕
范母狂喜而死范进中了秀才,虽然欢喜,依然穷得揭不开锅,范母饿得眼睛看不见东西,等到范进中了举人,立刻有人送银子送房产,两三个月间,丫鬟奴仆应有尽有。范母得知一切东西不是借用,而是全部属于自己,喜得哈哈大笑,然后跌倒晕死过去,医生来看病,已经中了心脏,无药可医了。范母死后,丧事非常隆重,全城有头脸的人都来吊孝,范进丈人胡老爹上不得台盘,只得在厨房里乱窜,帮着量布,称肉。范进取出银子托丈人请集上和尚来
《长相思》让无数观众意难平的,不是男一,不是官配,而是相柳啊
影视小锄头
《长相思》真的是绝了咱就是说番位给了男一玱玹官配给了男二涂山璟戏份给了男三相柳婚礼给了男四赤水丰隆主打的就是个一碗水端平桐华塑造角色的能力真的强无论这长相思思的是谁虐的可都是我们观众啊这部剧看似将玱玹定为男一也是考虑到他的帝王身份不然的话他就是个显眼包真正后劲足的是那个玟小六背后的男人默默付出的相柳哪怕是涂山璟那个“狐狸精”也真的是魅惑众生啊不知道有多少观众被他迷得鬼迷日眼的这几个角色挺有意思的一
椭圆曲线密码学 Elliptic Curve Cryptography
AIMercs
BTC密码学 密码学
密码学是研究在存在对抗行为的情况下还能安全通信的技术。即算法加密信息,再算法解密出信息。加密分为两类1.Symmetric-keyEncryption(secretkeyencryption)即一种密钥,加密和解密使用同一密钥,可相互转换2.Asymmetric-keyEncryption(publickeyencryption)分为公钥和私钥,不能转换,密钥搬运难题,用公钥加密,私钥解密椭圆密码
秋韵
人间雪白乘雪归
一、校园久未提笔,时光流转匆匆,落笔间惊觉秋已深。近来秋雨反复,蓊郁山水,空濛缥缈,云气与天相接,山色已是一片伤心碧了。校园一直被包围在烟雾杳霭中,不得秋的清爽和空旷,在淅淅沥沥的雨里,默默的等待时光的宽宥,亦深知时间的优渥,终会将温暖泽被其上。校园的绣球花已经凋零,往日肥绿的叶子,也开始枯黄掉落,紫叶李、玉兰花、梧桐的树叶不断的随着风飘落。周末,校园被安静占领,被四周的秋色占领,被雀鸟占领。二、
被动的学习
乐婷0809
2019.3.6星期三雨读经人员:艳红雨乐宇婷诗经时间第514天读经内容:《黄帝内经》《唐诗三百首》《诗经》《新概念英语》保险这个词语对我很敏感,因为我只买了乡镇医疗险,其它保险真没有想买的意思,也一点都不懂得。下午老公的婶婶又叫我去听了一堂关于怎样去推销产品和发展人员的课,真的要睡着了,一点不明白。就在去年我上班都总要我去,今年不上班越总是说,对于在做保险这份工作的人,他们就说是在帮助一个家庭。
leetcode 3202. 找出有效子序列的最大长度 II 中等
圣保罗的大教堂
leetcode leetcode
给你一个整数数组nums和一个正整数k。nums的一个子序列sub的长度为x,如果其满足以下条件,则称其为有效子序列:(sub[0]+sub[1])%k==(sub[1]+sub[2])%k==...==(sub[x-2]+sub[x-1])%k返回nums的最长有效子序列的长度。示例1:输入:nums=[1,2,3,4,5],k=2输出:5解释:最长有效子序列是[1,2,3,4,5]。示例2:输
朴素贝叶斯
不会忘的名字
1.关键词朴素:独立性假设贝叶斯公式贝叶斯公式简单例子另一个例子,现分别有A、B两个容器,在容器A里分别有7个红球和3个白球,在容器B里有1个红球和9个白球,现已知从这两个容器里任意抽出了一个球,且是红球,问这个红球是来自容器A的概率是多少?假设已经抽出红球为事件B,选中容器A为事件A,则有:P(B)=8/20,P(A)=1/2,P(B|A)=7/10,按照公式,则有:P(A|B)=(7/10)*
每日一读|阿兰·德波顿:想象旅行
沉鱼_58ae
对旅行的期望和旅行的现实总会出现矛盾。我碰巧读到于斯曼的小说《逆流》。小说发表于1884年,主人公德埃桑迪斯公爵是一个衰朽厌世的贵族,正筹划一趟伦敦之旅。他百般思索,分析了对一个地方的想象和实际情形之间令人极度沮丧的差异。在于斯曼的小说中,德埃桑迪斯独自住在巴黎市郊的一处宽敞别墅。他几乎足不出户,因为这样,可以避免看见他心中的人之丑陋和愚蠢。但有一天清早,德埃桑迪斯突然有一种强烈的意愿,想去伦敦旅
Js函数返回值
_wy_
js return
一、返回控制与函数结果,语法为:return 表达式;作用: 结束函数执行,返回调用函数,而且把表达式的值作为函数的结果 二、返回控制语法为:return;作用: 结束函数执行,返回调用函数,而且把undefined作为函数的结果 在大多数情况下,为事件处理函数返回false,可以防止默认的事件行为.例如,默认情况下点击一个<a>元素,页面会跳转到该元素href属性
MySQL 的 char 与 varchar
bylijinnan
mysql
今天发现,create table 时,MySQL 4.1有时会把 char 自动转换成 varchar
测试举例:
CREATE TABLE `varcharLessThan4` (
`lastName` varchar(3)
) ;
mysql> desc varcharLessThan4;
+----------+---------+------+-
Quartz——TriggerListener和JobListener
eksliang
TriggerListener JobListener quartz
转载请出自出处:http://eksliang.iteye.com/blog/2208624 一.概述
listener是一个监听器对象,用于监听scheduler中发生的事件,然后执行相应的操作;你可能已经猜到了,TriggerListeners接受与trigger相关的事件,JobListeners接受与jobs相关的事件。
二.JobListener监听器
j
oracle层次查询
18289753290
oracle;层次查询;树查询
.oracle层次查询(connect by)
oracle的emp表中包含了一列mgr指出谁是雇员的经理,由于经理也是雇员,所以经理的信息也存储在emp表中。这样emp表就是一个自引用表,表中的mgr列是一个自引用列,它指向emp表中的empno列,mgr表示一个员工的管理者,
select empno,mgr,ename,sal from e
通过反射把map中的属性赋值到实体类bean对象中
酷的飞上天空
javaee 泛型 类型转换
使用过struts2后感觉最方便的就是这个框架能自动把表单的参数赋值到action里面的对象中
但现在主要使用Spring框架的MVC,虽然也有@ModelAttribute可以使用但是明显感觉不方便。
好吧,那就自己再造一个轮子吧。
原理都知道,就是利用反射进行字段的赋值,下面贴代码
主要类如下:
import java.lang.reflect.Field;
imp
SAP HANA数据存储:传统硬盘的瓶颈问题
蓝儿唯美
HANA
SAPHANA平台有各种各样的应用场景,这也意味着客户的实施方法有许多种选择,关键是如何挑选最适合他们需求的实施方案。
在 《Implementing SAP HANA》这本书中,介绍了SAP平台在现实场景中的运作原理,并给出了实施建议和成功案例供参考。本系列文章节选自《Implementing SAP HANA》,介绍了行存储和列存储的各自特点,以及SAP HANA的数据存储方式如何提升空间压
Java Socket 多线程实现文件传输
随便小屋
java socket
高级操作系统作业,让用Socket实现文件传输,有些代码也是在网上找的,写的不好,如果大家能用就用上。
客户端类:
package edu.logic.client;
import java.io.BufferedInputStream;
import java.io.Buffered
java初学者路径
aijuans
java
学习Java有没有什么捷径?要想学好Java,首先要知道Java的大致分类。自从Sun推出Java以来,就力图使之无所不包,所以Java发展到现在,按应用来分主要分为三大块:J2SE,J2ME和J2EE,这也就是Sun ONE(Open Net Environment)体系。J2SE就是Java2的标准版,主要用于桌面应用软件的编程;J2ME主要应用于嵌入是系统开发,如手机和PDA的编程;J2EE
APP推广
aoyouzi
APP 推广
一,免费篇
1,APP推荐类网站自主推荐
最美应用、酷安网、DEMO8、木蚂蚁发现频道等,如果产品独特新颖,还能获取最美应用的评测推荐。PS:推荐简单。只要产品有趣好玩,用户会自主分享传播。例如足迹APP在最美应用推荐一次,几天用户暴增将服务器击垮。
2,各大应用商店首发合作
老实盯着排期,多给应用市场官方负责人献殷勤。
3,论坛贴吧推广
百度知道,百度贴吧,猫扑论坛,天涯社区,豆瓣(
JSP转发与重定向
百合不是茶
jsp servlet Java Web jsp转发
在servlet和jsp中我们经常需要请求,这时就需要用到转发和重定向;
转发包括;forward和include
例子;forwrad转发; 将请求装法给reg.html页面
关键代码;
req.getRequestDispatcher("reg.html
web.xml之jsp-config
bijian1013
java web.xml servlet jsp-config
1.作用:主要用于设定JSP页面的相关配置。
2.常见定义:
<jsp-config>
<taglib>
<taglib-uri>URI(定义TLD文件的URI,JSP页面的tablib命令可以经由此URI获取到TLD文件)</tablib-uri>
<taglib-location>
TLD文件所在的位置
JSF2.2 ViewScoped Using CDI
sunjing
CDI JSF 2.2 ViewScoped
JSF 2.0 introduced annotation @ViewScoped; A bean annotated with this scope maintained its state as long as the user stays on the same view(reloads or navigation - no intervening views). One problem w
【分布式数据一致性二】Zookeeper数据读写一致性
bit1129
zookeeper
很多文档说Zookeeper是强一致性保证,事实不然。关于一致性模型请参考http://bit1129.iteye.com/blog/2155336
Zookeeper的数据同步协议
Zookeeper采用称为Quorum Based Protocol的数据同步协议。假如Zookeeper集群有N台Zookeeper服务器(N通常取奇数,3台能够满足数据可靠性同时
Java开发笔记
白糖_
java开发
1、Map<key,value>的remove方法只能识别相同类型的key值
Map<Integer,String> map = new HashMap<Integer,String>();
map.put(1,"a");
map.put(2,"b");
map.put(3,"c"
图片黑色阴影
bozch
图片
.event{ padding:0; width:460px; min-width: 460px; border:0px solid #e4e4e4; height: 350px; min-heig
编程之美-饮料供货-动态规划
bylijinnan
动态规划
import java.util.Arrays;
import java.util.Random;
public class BeverageSupply {
/**
* 编程之美 饮料供货
* 设Opt(V’,i)表示从i到n-1种饮料中,总容量为V’的方案中,满意度之和的最大值。
* 那么递归式就应该是:Opt(V’,i)=max{ k * Hi+Op
ajax大参数(大数据)提交性能分析
chenbowen00
Web Ajax 框架 浏览器 prototype
近期在项目中发现如下一个问题
项目中有个提交现场事件的功能,该功能主要是在web客户端保存现场数据(主要有截屏,终端日志等信息)然后提交到服务器上方便我们分析定位问题。客户在使用该功能的过程中反应点击提交后反应很慢,大概要等10到20秒的时间浏览器才能操作,期间页面不响应事件。
根据客户描述分析了下的代码流程,很简单,主要通过OCX控件截屏,在将前端的日志等文件使用OCX控件打包,在将之转换为
[宇宙与天文]在太空采矿,在太空建造
comsci
我们在太空进行工业活动...但是不太可能把太空工业产品又运回到地面上进行加工,而一般是在哪里开采,就在哪里加工,太空的微重力环境,可能会使我们的工业产品的制造尺度非常巨大....
地球上制造的最大工业机器是超级油轮和航空母舰,再大些就会遇到困难了,但是在空间船坞中,制造的最大工业机器,可能就没
ORACLE中CONSTRAINT的四对属性
daizj
oracle CONSTRAINT
ORACLE中CONSTRAINT的四对属性
summary:在data migrate时,某些表的约束总是困扰着我们,让我们的migratet举步维艰,如何利用约束本身的属性来处理这些问题呢?本文详细介绍了约束的四对属性: Deferrable/not deferrable, Deferred/immediate, enalbe/disable, validate/novalidate,以及如
Gradle入门教程
dengkane
gradle
一、寻找gradle的历程
一开始的时候,我们只有一个工程,所有要用到的jar包都放到工程目录下面,时间长了,工程越来越大,使用到的jar包也越来越多,难以理解jar之间的依赖关系。再后来我们把旧的工程拆分到不同的工程里,靠ide来管理工程之间的依赖关系,各工程下的jar包依赖是杂乱的。一段时间后,我们发现用ide来管理项程很不方便,比如不方便脱离ide自动构建,于是我们写自己的ant脚本。再后
C语言简单循环示例
dcj3sjt126com
c
# include <stdio.h>
int main(void)
{
int i;
int count = 0;
int sum = 0;
float avg;
for (i=1; i<=100; i++)
{
if (i%2==0)
{
count++;
sum += i;
}
}
avg
presentModalViewController 的动画效果
dcj3sjt126com
controller
系统自带(四种效果):
presentModalViewController模态的动画效果设置:
[cpp]
view plain
copy
UIViewController *detailViewController = [[UIViewController al
java 二分查找
shuizhaosi888
二分查找 java二分查找
需求:在排好顺序的一串数字中,找到数字T
一般解法:从左到右扫描数据,其运行花费线性时间O(N)。然而这个算法并没有用到该表已经排序的事实。
/**
*
* @param array
* 顺序数组
* @param t
* 要查找对象
* @return
*/
public stati
Spring Security(07)——缓存UserDetails
234390216
ehcache 缓存 Spring Security
Spring Security提供了一个实现了可以缓存UserDetails的UserDetailsService实现类,CachingUserDetailsService。该类的构造接收一个用于真正加载UserDetails的UserDetailsService实现类。当需要加载UserDetails时,其首先会从缓存中获取,如果缓存中没
Dozer 深层次复制
jayluns
VO maven po
最近在做项目上遇到了一些小问题,因为架构在做设计的时候web前段展示用到了vo层,而在后台进行与数据库层操作的时候用到的是Po层。这样在业务层返回vo到控制层,每一次都需要从po-->转化到vo层,用到BeanUtils.copyProperties(source, target)只能复制简单的属性,因为实体类都配置了hibernate那些关联关系,所以它满足不了现在的需求,但后发现还有个很
CSS规范整理(摘自懒人图库)
a409435341
html UI css 浏览器
刚没事闲着在网上瞎逛,找了一篇CSS规范整理,粗略看了一下后还蛮有一定的道理,并自问是否有这样的规范,这也是初入前端开发的人一个很好的规范吧。
一、文件规范
1、文件均归档至约定的目录中。
具体要求通过豆瓣的CSS规范进行讲解:
所有的CSS分为两大类:通用类和业务类。通用的CSS文件,放在如下目录中:
基本样式库 /css/core
C++动态链接库创建与使用
你不认识的休道人
C++ dll
一、创建动态链接库
1.新建工程test中选择”MFC [dll]”dll类型选择第二项"Regular DLL With MFC shared linked",完成
2.在test.h中添加
extern “C” 返回类型 _declspec(dllexport)函数名(参数列表);
3.在test.cpp中最后写
extern “C” 返回类型 _decls
Android代码混淆之ProGuard
rensanning
ProGuard
Android应用的Java代码,通过反编译apk文件(dex2jar、apktool)很容易得到源代码,所以在release版本的apk中一定要混淆一下一些关键的Java源码。
ProGuard是一个开源的Java代码混淆器(obfuscation)。ADT r8开始它被默认集成到了Android SDK中。
官网:
http://proguard.sourceforge.net/
程序员在编程中遇到的奇葩弱智问题
tomcat_oracle
jquery 编程 ide
现在收集一下:
排名不分先后,按照发言顺序来的。
1、Jquery插件一个通用函数一直报错,尤其是很明显是存在的函数,很有可能就是你没有引入jquery。。。或者版本不对
2、调试半天没变化:不在同一个文件中调试。这个很可怕,我们很多时候会备份好几个项目,改完发现改错了。有个群友说的好: 在汤匙
解决maven-dependency-plugin (goals "copy-dependencies","unpack") is not supported
xp9802
dependency
解决办法:在plugins之前添加如下pluginManagement,二者前后顺序如下:
[html]
view plain
copy
<build>
<pluginManagement