文章目录
1.确定爬取对象
2、分析网页
3、正式爬取
4、文本写入csv
1.确定爬取对象
爬取链接为:一桥海鲜自助烧烤广场
2、分析网页
不管对什么网页进行爬虫,我们做的第一件事都是要先对网页进行分析,然后再对它进行抓包分析,然后再决定请求服务器的方式。
3、正式爬取
分析网页之后我们就可以进行正式的爬取我们想要的信息了。
import requests, csv
headers_meituan = {
"User-Agent" : "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.163 Safari/537.36"
}
fp = open ( "./美团评论_全部.csv" , 'a' , newline= '' , encoding = 'utf-8-sig' )
writer = csv. writer( fp)
writer. writerow( ( "用户" , "ID" , "链接" , "评论" ) )
for num in range ( 0 , 381 , 10 ) :
print ( "正在爬取%s条............" % num)
ajax_url = "https://www.meituan.com/meishi/api/poi/getMerchantComment?uuid=60d8293a-8f06-4d5e-b13d-796bbda5268f&platform=1&partner=126&originUrl=https%3A%2F%2Fwww.meituan.com%2Fmeishi%2F193383554%2F&riskLevel=1&optimusCode=10&id=193383554&userId=&offset=" + str ( num) + "&pageSize=10&sortType=1"
print ( ajax_url)
reponse = requests. get( url = ajax_url, headers= headers_meituan)
for item in reponse. json( ) [ "data" ] [ "comments" ] :
name = item[ "userName" ]
user_id = item[ "userId" ]
user_url = item[ "userUrl" ]
comment = item[ "comment" ]
result = ( name, user_id, user_url, comment)
writer. writerow( result)
fp. close( )
结果为:
4、文本写入csv
import requests, json, re, random, time, csv
from fake_useragent import UserAgent
starttime = time. time( )
ips = [ ]
for i in range ( 1 , 6 ) :
headers = {
"User-Agent" : UserAgent( ) . chrome
}
ip_url = 'http://www.89ip.cn/index_{}.html' . format ( i)
html = requests. get( url= ip_url, headers= headers) . text
res_re = html. replace( " " , "" ) . replace( "\n" , "" ) . replace( "\t" , "" )
r = re. compile ( '(.*?) (.*?) ')
result = re. findall( r, res_re)
for i in range ( len ( result) ) :
ip = "http://" + result[ i] [ 0 ] + ":" + result[ i] [ 1 ]
proxies = { "http" : ip}
baidu = requests. get( "https://www.baidu.com/" , proxies = proxies)
if baidu. status_code == 200 :
ips. append( proxies)
print ( "正在准备IP代理,请稍后。。。" )
fp = open ( './美团_大学城.csv' , 'a' , newline= '' , encoding= 'utf-8-sig' )
writer = csv. writer( fp)
writer. writerow( ( '用户ID' , '用户名' , '平均价' , '评论' , '回复' ) )
for page in range ( 0 , 371 , 10 ) :
url = 'https://www.meituan.com/meishi/api/poi/getMerchantComment?uuid=9f45527e-2983-40c9-bc92-f58a8290c947&platform=1&partner=126&originUrl=https%3A%2F%2Fwww.meituan.com%2Fmeishi%2F193383554%2F&riskLevel=1&optimusCode=10&id=193383554&userId=&offset={}&pageSize=10&sortType=1' . format ( page)
try :
headers = {
"User-Agent" : UserAgent( ) . chrome
}
rep = requests. get( url= url, headers= headers, proxies= ips[ random. randint( 0 , len ( ips) - 1 ) ] )
print ( "爬取条数:" , page)
for info in rep. json( ) [ 'data' ] [ 'comments' ] :
userId = info[ 'userId' ]
userName = info[ 'userName' ]
avgPrice = info[ 'avgPrice' ]
comment = info[ 'comment' ]
merchantComment = info[ 'merchantComment' ]
data = ( userId, userName, avgPrice, comment, merchantComment)
writer. writerow( ( data) )
except :
print ( "这里发生异常:" , url)
pass
fp. close( )
endtime = time. time( )
sumTime = endtime - starttime
print ( "一共用的时间是%s秒" % sumTime)
结果为: 爬取结束。
你可能感兴趣的:(《python爬取美团评论》)
搭建个人AI知识库:RAG与本地模型实践指南
ai开发知识库
引言你是否想过拥有一个私人订制的AI助手,能够随时为你提供最个性化的信息?本文将带你一步步搭建一个基于本地模型和RAG技术的个人知识库。搭建本地模型环境os:archlinux内存:32gcpu:6核12线程python:3.12.7docker27.3.1+docker-compose向量库:milvus2.4.13+attu2.4(客户端)ollamapacman-Sollamasystemc
农夫过河——python贪心算法实现
贝桑不止学Python
1.问题描述:一个农夫在河的西岸带了一匹狼、一只羊和一棵白菜,他需要把这三样东西用船带到河的东岸。然而,这艘船只能容下农夫本人和另外一样东西。如果农夫不在场的话,狼会吃掉羊,羊也会吃掉白菜。2.问题分析:由于整个过程涉及四个对象,多个步骤,而各个步骤中各个对象所处位置相对不同,因此可以定义一个二维数组,分别存储对象及初始状态——initial_state[0][0],[1][0],[1][1],[
python元组+字典
学IT的那些年
python
#案例#访问元组#aTuple=(23,35,56,34,11,21)#下标为2#print(aTuple[2])#索引值不存在#print(aTuple[20])#查询个数#aTuple=('b','c','d','e','f','g')#print(aTuple.count('d'))#查询索引#print(aTuple.index('d',0,4))#无对应元素#print(aTuple.i
Python的元组和字典
汤姆666
测试工具 测试软件 测试 python
1.元组Python的元组与列表类似,不同之处在于元组的元素不能修改。元组使用小括号,列表使用方括号。格式:变量名=(,,,,)案例aTuple=(23,35,56,34,11,21)1.1访问元组通过索引取数据索引值存在aTuple=(23,35,56,34,11,21)print(aTuple[2])结果561.2查询个数count查询出现的个数aTuple=('b','c','d','e',
第4篇:使用ChatterBot构建基本聊天机器人
Python测试之道
聊天机器人 机器人 人工智能
在这一篇文章中,我们将实际构建一个简单的聊天机器人,展示如何使用ChatterBot库进行基本的对话交互。我们将集中讨论代码实现,并介绍一些有用的功能扩展。4.1创建聊天机器人4.1.1编写聊天机器人代码首先,创建一个新的Python文件,例如chatbot.py,并输入以下代码:fromchatterbotimportChatBotfromchatterbot.trainersimportLis
Python中的元组和字典
DuADC
python
Python中的元组和字典1.元组什么是元组(tuple)元组是容器型数据类型;将()作为容器的标志,里面多个文件用逗号隔开(元素1,元素2,…)元组不可变(只能查)元组有序-支持下标操作元素:和列表一样只有一个元素的元组-唯一的元素后面必须加逗号list1=[12]print(list1,type(list1),len(list1))#[12]1t2=(12)print(t2,type(t2))
python中系统找不到指定文件怎么办,Python“系统找不到指定的文件”
许早早
我正在尝试编写一个OpenDyslexic字体的安装程序。我已经在https://github.com/kirbyfan64/OpenDyslexic-Installer上有一个Linux版本,但是Windows版本(显然)目前还不太好用。这是UAC问题吗?我想不出别的办法了。有两个奇怪的部分:程序正在通过else子句和filecmp找到了第一个文件。我有一种感觉,执行else是因为与filecm
python获取当前文件路径
weixin_33877885
python
python获取当前文件路径学习了:https://www.cnblogs.com/strongYaYa/p/7200357.htmlhttps://blog.csdn.net/heatdeath/article/details/78070832https://www.cnblogs.com/WonderHow/p/4403727.htmlimportosprint(os.getcwd())#fo
python笔记(一)获取当前目录路径和文件(抄录)
z-pan
python
一、获取当前路径1、使用sys.argv[0]importsysprintsys.argv[0]#输出#本地路径2、os模块importosprintos.getcwd()#获取当前工作目录路径printos.path.abspath('.')#获取当前工作目录路径printos.path.abspath('test.txt')#获取当前目录文件下的工作目录路径printos.path.abspa
‘urllib‘ has no attribute ‘urlencode‘
计算机辅助工程
linux 运维 服务器
报错解释:在Python3.x中,urllib库已经被分解为几个子模块,urllib.parse中包含了urlencode函数,用于将字典或者字节序列转换为URL编码的查询字符串。但是在Python3.x中直接使用urllib.urlencode()会导致这个错误,因为urllib模块中不存在urlencode这个属性。解决方法:你需要从urllib.parse模块中导入urlencode函数,并
/usr/bin/env: “python\r“: 没有那个文件或目录
一只小团子
Error
报错:/usr/bin/env:"python\r":没有那个文件或目录/usr/bin/env:"python\r":Nosuchfileordirectory原因:在windows下从github中gitclone下来可能创建多了\r字符。#!/usr/bin/envpython在ubuntu会变成#!/usr/bin/envpython\r而\r会被shell当成参数。Windows文本文件
Python 爬虫入门教程:从零构建你的第一个网络爬虫
m0_74825223
面试 学习路线 阿里巴巴 python 爬虫 开发语言
网络爬虫是一种自动化程序,用于从网站抓取数据。Python凭借其丰富的库和简单的语法,是构建网络爬虫的理想语言。本文将带你从零开始学习Python爬虫的基本知识,并实现一个简单的爬虫项目。1.什么是网络爬虫?网络爬虫(WebCrawler)是一种通过网络协议(如HTTP/HTTPS)获取网页内容,并提取其中有用信息的程序。常见的爬虫用途包括:收集商品价格和评价。抓取新闻或博客内容。统计数据分析。爬
基于 Python 的机器学习模型部署到 Flask Web 应用:从训练到部署的完整指南
m0_74825223
python 机器学习 flask
目录引言技术栈步骤一:数据预处理步骤二:训练机器学习模型步骤三:创建FlaskWeb应用步骤四:测试Web应用步骤五:模型的保存与加载保存模型加载模型并在Flask中使用步骤六:Web应用的安全性考量示例:简单的输入验证示例:自定义错误处理示例:使用Flask-JWT-Extended进行认证结论参考资料引言在当今数据驱动的时代,机器学习模型已经广泛应用于各行各业,从金融、医疗到教育等领域。然而,
Python数据分析与程序设计-番外:在vscode中使用Jupyter Notebook
想当糕手
python 数据分析 vscode jupyter
前言在系列文章的第二篇中,我们介绍了使用“if__name__=="__main__":”来模拟c语言中的main函数+封装测试函数的方法来提高代码可读性。当然,这并不是最佳的选择,本篇博客为您将介绍更为高效便捷的工具,希望能对你有所帮助!关于JupyterNotebookJupyterNotebook是一个开源的Web应用程序,它允许你创建和共享包含实时代码、方程、可视化和解释性文本的文档。它是
【2024年华为OD机试】(C/D卷,200分)- 5G网络建设 (JavaScript&Java & Python&C/C++)
妄北y
算法汇集笔记总结(保姆级) 华为od c语言 5G python javascript java 网络
一、问题描述题目描述现需要在某城市进行5G网络建设,已经选取N个地点设置5G基站,编号固定为1到N。接下来需要各个基站之间使用光纤进行连接以确保基站能互联互通。不同基站之间假设光纤的成本各不相同,且有些节点之间已经存在光纤相连。请你设计算法,计算出能联通这些基站的最小成本是多少。注意:基站的联通具有传递性,比如基站A与基站B架设了光纤,基站B与基站C也架设了光纤,则基站A与基站C视为可以互相联通。
使用Python进行后端开发
code_welike
python 开发语言 后端
在现代的Web应用程序中,后端开发扮演着至关重要的角色。后端是负责处理数据、逻辑和业务规则的部分,它与前端交互并提供必要的功能和服务。Python是一种广泛使用的编程语言,具有丰富的库和框架,非常适合用于后端开发。本文将介绍如何使用Python进行后端开发,并提供一些示例代码。安装Python和相关工具首先,我们需要安装Python和一些常用的后端开发工具。你可以从Python官方网站(https
《利用python进行数据分析》——3.1数据结构和序列——元组、列表、字典、集合——读书笔记
pillow_L
python数据分析
第3章Python的数据结构、函数和文件3.1数据结构和序列Python中常见的数据结构可以统称为容器。序列(如列表和元组)、映射(如字典)以及集合(set)是三类主要的容器。1.元组——tuple元组是一个固定长度,不可改变的Python序列对象。元组与列表一样,也是一种序列,唯一不同的是元组不能被修改(字符串其实也有这种特点)元组Tuple,一经初始化,就不能修改,没有列表List中的appe
chatgpt赋能python:Python当前文件目录:了解Python中的文件路径
atest166
ChatGpt python chatgpt 机器学习 计算机
Python当前文件目录:了解Python中的文件路径Python是一个流行的编程语言,用于开发各种类型的应用程序。在Python中,文件路径是一个非常重要的概念,特别是在操作文件和文件夹时。在本篇文章中,我们将深入探讨Python当前文件目录及其相关概念。什么是当前文件目录?当前文件目录是指当前正在运行的Python文件的位置。在Python中,我们可以使用“os”模块中的函数轻松获得当前文件目
Python进阶实战:利用元组作为字典键的巧妙策略
Yori_22
Python编程 python 开发语言
在Python编程中,字典(dictionary)是一种非常强大且灵活的数据结构,它允许我们通过键(key)来快速访问和存储值(value)。通常,字典的键可以是任何不可变的数据类型,如整数、浮点数、字符串或元组。在这篇文章中,我们将深入探讨如何利用元组作为字典键的巧妙策略,特别是在处理复杂数据时,这种策略能够带来意想不到的便利和效率。一、元组作为字典键的基础在Python中,元组(tuple)是
Python基础06(字符串格式化/操作方法)
XYX的Blog
Python python 开发语言
字符串在Python中,字符串属于不可变有序序列,使用单引号、双引号、三单引号或三双引号作为定界符,并且不同的定界符之间可以互相嵌套。除了支持序列通用方法(包括双向索引、比较大小、计算长度、元素访问、切片、成员测试等操作)以外,字符串类型还支持一些特有的操作方法,例如字符串格式化、查找、替换、排版等等。字符串属于不可变序列,不能直接对字符串对象进行元素增加、修改与删除等操作,切片操作也只能访问其中
Python基础02(Python序列结构/列表/元组/集合/字典/序列解包)
XYX的Blog
Python python
Python序列结构序列结构的分类:1.有无顺序(是否可以通过索引访问序列结构的元素):有序:列表,元组,字符串无序:字典,集合2.是否可变(是否可以增加或删除元素):可变:列表,字典,集合不可变:元组,字符串1.List列表列表(list)是最重要的Python内置对象之一,是包含若干元素的有序连续内存空间。在形式上,列表的所有元素放在一对[]中,元素之间使用逗号分隔。在Python中,同一个列
【java小灶课】详解java与python的不同之处
wit_@
python java big data web
以下是一篇详细的博客,全面介绍了Java与Python在多方面的区别,包括语法、类型系统、内存管理、面向对象特性、并发编程以及常见应用场景等,希望能帮助你深入理解这两门语言的异同,为学习或实际应用提供指导。目录语言概述语法对比类型系统内存管理与垃圾回收面向对象特性函数式编程与Lambda表达式异常处理标准库与第三方库生态并发和多线程运行效率与性能优化常见应用场景学习曲线与社区支持总结1.语言概述J
华为OD机试E卷 --找数字--24年OD统一考试(Java & JS & Python & C & C++)
飞码创造者
最新华为OD机试题库2024 华为od java javascript c语言 python
文章目录题目描述输入描述输出描述用例题目解析JS算法源码Java算法源码python算法源码c算法源码c++算法源码题目描述小扇和小船今天又玩起来了数字游戏,小船给小扇一个正整数n(1≤n≤1e9),小扇需要找到一个比n大的数字m,使得m和n对应的二进制中1的个数要相同,如:4对应二进制1008对应二进制1000其中1的个数都为1个现在求m的最小值。输入描述输入一个正整数n(1≤n≤1e9)输出描
【Python】成功解决ValueError: zero-size array to reduction operation minimum which has no identity
高斯小哥
BUG解决方案合集 python 新手入门 学习 debug
【Python】成功解决ValueError:zero-sizearraytoreductionoperationminimumwhichhasnoidentity个人主页:高斯小哥高质量专栏:Matplotlib之旅:零基础精通数据可视化、Python基础【高质量合集】、PyTorch零基础入门教程希望得到您的订阅和支持~创作高质量博文(平均质量分92+),分享更多关于深度学习、PyTorch、
Numpy基础01(Jupyter基本用法/Ndarray创建与基本操作)
XYX的Blog
数据分析与可视化 numpy jupyter
内容一:Jupyter开发环境IPython是一个增强型的Python交互式解释器,提供了自动补全、命令历史、魔法命令等功能。它支持与操作系统命令交互、内联绘图和多语言扩展,并可与JupyterNotebook集成,适用于数据分析和科学计算。IPython还支持远程访问、包管理和插件扩展,是一个功能强大且灵活的开发工具。JupyterNotebook是IPython的开发环境。1.1Jupyter
Python魔法方法__call__深入详解
图灵学者
python精华 python 开发语言
目录1、魔法方法__call__初探♂️1.1什么是__call__?1.2基础用法演示1.3自定义行为与参数传递2、实现轻量级装饰器模式️2.1装饰器概念回顾2.2利用__call__构建装饰器2.3深入理解装饰器应用场景3、类实例变身函数调用3.1类似函数的行为模拟3.2动态执行与灵活性提升3.3实战案例:日志记录器4、实现状态机模式4.1状态机概念回顾4.2通过__call__管理状态转换
Python魔法参数:深入解析*args和**kwargs的强大用途
图灵学者
python精华 python java linux
目录引言基础概念解析*args:处理位置参数**kwargs:处理关键字参数*args和**kwargs的实际应用场景1.函数装饰器中使用*args和**kwargs2.类构造函数中使用*args和**kwargs3.API调用中使用**kwargs与其他参数类型的结合使用结合默认参数位置参数与关键字参数的混合使用高级技巧和注意事项参数解包与重打包性能考量调试技巧案例研究场景描述实现步骤实际应用案
python封装成exe文件
wenangou
python
这篇文章主要介绍了一个有趣的事情,具有一定借鉴价值,需要的朋友可以参考下。希望大家阅读完这篇文章后大有收获,下面让小编带着大家一起了解一下。Python打包exe文件方法汇总【4种】Python作为解释型语言,发布即公开源码,虽然是提倡开源但是有些时候就是忍不住想打包成exe,不仅仅是为了对代码进行加密,而是为了跨平台。防止有些没有安装py环境的电脑无法运行软件小神猪。目录对python代码打包成
使用Python解决数独谜题的实用指南
werf456456asddd
python 开发语言
在这篇文章中,我们将探讨如何编写一个Python函数来解决数独谜题。这个函数将接收一个9x9的数独网格作为输入,并使用回溯算法来解决谜题。如果谜题无法解决,函数将返回None。此外,我们还会确保输入网格是一个有效的数独谜题。技术背景介绍数独是一种经典的逻辑游戏,目标是填满一个9x9的网格,使每列、每行和每个3x3的子网格都包含1到9之间的数字。在计算机科学中,数独可以通过回溯算法来求解,这是一种尝
RPA手把手:【Intermediate Python】一、*args 和 **kwargs
艺赛旗RPA
RPA RPA教程 python基础 RPA python 艺赛旗
艺赛旗RPA10.0全新首发免费下载点击下载www.i-search.com.cn/index.html?from=line1我观察到,大部分新的Python程序员都需要花上大量时间理解清楚*args和**kwargs这两个魔法变量。那么它们到底是什么?首先让我告诉你,其实并不是必须写成args和**kwargs。只有变量前面的星号才是必须的,你也可以写成var和vars,而写成*args和kwa
[黑洞与暗粒子]没有光的世界
comsci
无论是相对论还是其它现代物理学,都显然有个缺陷,那就是必须有光才能够计算
但是,我相信,在我们的世界和宇宙平面中,肯定存在没有光的世界....
那么,在没有光的世界,光子和其它粒子的规律无法被应用和考察,那么以光速为核心的
&nbs
jQuery Lazy Load 图片延迟加载
aijuans
jquery
基于 jQuery 的图片延迟加载插件,在用户滚动页面到图片之后才进行加载。
对于有较多的图片的网页,使用图片延迟加载,能有效的提高页面加载速度。
版本:
jQuery v1.4.4+
jQuery Lazy Load v1.7.2
注意事项:
需要真正实现图片延迟加载,必须将真实图片地址写在 data-original 属性中。若 src
使用Jodd的优点
Kai_Ge
jodd
1. 简化和统一 controller ,抛弃 extends SimpleFormController ,统一使用 implements Controller 的方式。
2. 简化 JSP 页面的 bind, 不需要一个字段一个字段的绑定。
3. 对 bean 没有任何要求,可以使用任意的 bean 做为 formBean。
使用方法简介
jpa Query转hibernate Query
120153216
Hibernate
public List<Map> getMapList(String hql,
Map map) {
org.hibernate.Query jpaQuery = entityManager.createQuery(hql);
if (null != map) {
for (String parameter : map.keySet()) {
jp
Django_Python3添加MySQL/MariaDB支持
2002wmj
mariaDB
现状
首先,
[email protected] 中默认的引擎为 django.db.backends.mysql 。但是在Python3中如果这样写的话,会发现 django.db.backends.mysql 依赖 MySQLdb[5] ,而 MySQLdb 又不兼容 Python3 于是要找一种新的方式来继续使用MySQL。 MySQL官方的方案
首先据MySQL文档[3]说,自从MySQL
在SQLSERVER中查找消耗IO最多的SQL
357029540
SQL Server
返回做IO数目最多的50条语句以及它们的执行计划。
select top 50
(total_logical_reads/execution_count) as avg_logical_reads,
(total_logical_writes/execution_count) as avg_logical_writes,
(tot
spring UnChecked 异常 官方定义!
7454103
spring
如果你接触过spring的 事物管理!那么你必须明白 spring的 非捕获异常! 即 unchecked 异常! 因为 spring 默认这类异常事物自动回滚!!
public static boolean isCheckedException(Throwable ex)
{
return !(ex instanceof RuntimeExcep
mongoDB 入门指南、示例
adminjun
java mongodb 操作
一、准备工作
1、 下载mongoDB
下载地址:http://www.mongodb.org/downloads
选择合适你的版本
相关文档:http://www.mongodb.org/display/DOCS/Tutorial
2、 安装mongoDB
A、 不解压模式:
将下载下来的mongoDB-xxx.zip打开,找到bin目录,运行mongod.exe就可以启动服务,默
CUDA 5 Release Candidate Now Available
aijuans
CUDA
The CUDA 5 Release Candidate is now available at http://developer.nvidia.com/<wbr></wbr>cuda/cuda-pre-production. Now applicable to a broader set of algorithms, CUDA 5 has advanced fe
Essential Studio for WinRT网格控件测评
Axiba
JavaScript html5
Essential Studio for WinRT界面控件包含了商业平板应用程序开发中所需的所有控件,如市场上运行速度最快的grid 和chart、地图、RDL报表查看器、丰富的文本查看器及图表等等。同时,该控件还包含了一组独特的库,用于从WinRT应用程序中生成Excel、Word以及PDF格式的文件。此文将对其另外一个强大的控件——网格控件进行专门的测评详述。
网格控件功能
1、
java 获取windows系统安装的证书或证书链
bewithme
windows
有时需要获取windows系统安装的证书或证书链,比如说你要通过证书来创建java的密钥库 。
有关证书链的解释可以查看此处 。
public static void main(String[] args) {
SunMSCAPI providerMSCAPI = new SunMSCAPI();
S
NoSQL数据库之Redis数据库管理(set类型和zset类型)
bijian1013
redis 数据库 NoSQL
4.sets类型
Set是集合,它是string类型的无序集合。set是通过hash table实现的,添加、删除和查找的复杂度都是O(1)。对集合我们可以取并集、交集、差集。通过这些操作我们可以实现sns中的好友推荐和blog的tag功能。
sadd:向名称为key的set中添加元
异常捕获何时用Exception,何时用Throwable
bingyingao
用Exception的情况
try {
//可能发生空指针、数组溢出等异常
} catch (Exception e) {
 
【Kafka四】Kakfa伪分布式安装
bit1129
kafka
在http://bit1129.iteye.com/blog/2174791一文中,实现了单Kafka服务器的安装,在Kafka中,每个Kafka服务器称为一个broker。本文简单介绍下,在单机环境下Kafka的伪分布式安装和测试验证 1. 安装步骤
Kafka伪分布式安装的思路跟Zookeeper的伪分布式安装思路完全一样,不过比Zookeeper稍微简单些(不
Project Euler
bookjovi
haskell
Project Euler是个数学问题求解网站,网站设计的很有意思,有很多problem,在未提交正确答案前不能查看problem的overview,也不能查看关于problem的discussion thread,只能看到现在problem已经被多少人解决了,人数越多往往代表问题越容易。
看看problem 1吧:
Add all the natural num
Java-Collections Framework学习与总结-ArrayDeque
BrokenDreams
Collections
表、栈和队列是三种基本的数据结构,前面总结的ArrayList和LinkedList可以作为任意一种数据结构来使用,当然由于实现方式的不同,操作的效率也会不同。
这篇要看一下java.util.ArrayDeque。从命名上看
读《研磨设计模式》-代码笔记-装饰模式-Decorator
bylijinnan
java 设计模式
声明: 本文只为方便我个人查阅和理解,详细的分析以及源代码请移步 原作者的博客http://chjavach.iteye.com/
import java.io.BufferedOutputStream;
import java.io.DataOutputStream;
import java.io.FileOutputStream;
import java.io.Fi
Maven学习(一)
chenyu19891124
Maven私服
学习一门技术和工具总得花费一段时间,5月底6月初自己学习了一些工具,maven+Hudson+nexus的搭建,对于maven以前只是听说,顺便再自己的电脑上搭建了一个maven环境,但是完全不了解maven这一强大的构建工具,还有ant也是一个构建工具,但ant就没有maven那么的简单方便,其实简单点说maven是一个运用命令行就能完成构建,测试,打包,发布一系列功
[原创]JWFD工作流引擎设计----节点匹配搜索算法(用于初步解决条件异步汇聚问题) 补充
comsci
算法 工作 PHP 搜索引擎 嵌入式
本文主要介绍在JWFD工作流引擎设计中遇到的一个实际问题的解决方案,请参考我的博文"带条件选择的并行汇聚路由问题"中图例A2描述的情况(http://comsci.iteye.com/blog/339756),我现在把我对图例A2的一个解决方案公布出来,请大家多指点
节点匹配搜索算法(用于解决标准对称流程图条件汇聚点运行控制参数的算法)
需要解决的问题:已知分支
Linux中用shell获取昨天、明天或多天前的日期
daizj
linux shell 上几年 昨天 获取上几个月
在Linux中可以通过date命令获取昨天、明天、上个月、下个月、上一年和下一年
# 获取昨天
date -d 'yesterday' # 或 date -d 'last day'
# 获取明天
date -d 'tomorrow' # 或 date -d 'next day'
# 获取上个月
date -d 'last month'
#
我所理解的云计算
dongwei_6688
云计算
在刚开始接触到一个概念时,人们往往都会去探寻这个概念的含义,以达到对其有一个感性的认知,在Wikipedia上关于“云计算”是这么定义的,它说:
Cloud computing is a phrase used to describe a variety of computing co
YII CMenu配置
dcj3sjt126com
yii
Adding id and class names to CMenu
We use the id and htmlOptions to accomplish this. Watch.
//in your view
$this->widget('zii.widgets.CMenu', array(
'id'=>'myMenu',
'items'=>$this-&g
设计模式之静态代理与动态代理
come_for_dream
设计模式
静态代理与动态代理
代理模式是java开发中用到的相对比较多的设计模式,其中的思想就是主业务和相关业务分离。所谓的代理设计就是指由一个代理主题来操作真实主题,真实主题执行具体的业务操作,而代理主题负责其他相关业务的处理。比如我们在进行删除操作的时候需要检验一下用户是否登陆,我们可以删除看成主业务,而把检验用户是否登陆看成其相关业务
【转】理解Javascript 系列
gcc2ge
JavaScript
理解Javascript_13_执行模型详解
摘要: 在《理解Javascript_12_执行模型浅析》一文中,我们初步的了解了执行上下文与作用域的概念,那么这一篇将深入分析执行上下文的构建过程,了解执行上下文、函数对象、作用域三者之间的关系。函数执行环境简单的代码:当调用say方法时,第一步是创建其执行环境,在创建执行环境的过程中,会按照定义的先后顺序完成一系列操作:1.首先会创建一个
Subsets II
hcx2013
set
Given a collection of integers that might contain duplicates, nums, return all possible subsets.
Note:
Elements in a subset must be in non-descending order.
The solution set must not conta
Spring4.1新特性——Spring缓存框架增强
jinnianshilongnian
spring4
目录
Spring4.1新特性——综述
Spring4.1新特性——Spring核心部分及其他
Spring4.1新特性——Spring缓存框架增强
Spring4.1新特性——异步调用和事件机制的异常处理
Spring4.1新特性——数据库集成测试脚本初始化
Spring4.1新特性——Spring MVC增强
Spring4.1新特性——页面自动化测试框架Spring MVC T
shell嵌套expect执行命令
liyonghui160com
一直都想把expect的操作写到bash脚本里,这样就不用我再写两个脚本来执行了,搞了一下午终于有点小成就,给大家看看吧.
系统:centos 5.x
1.先安装expect
yum -y install expect
2.脚本内容:
cat auto_svn.sh
#!/bin/bash
Linux实用命令整理
pda158
linux
0. 基本命令 linux 基本命令整理
1. 压缩 解压 tar -zcvf a.tar.gz a #把a压缩成a.tar.gz tar -zxvf a.tar.gz #把a.tar.gz解压成a
2. vim小结 2.1 vim替换 :m,ns/word_1/word_2/gc  
独立开发人员通向成功的29个小贴士
shoothao
独立开发
概述:本文收集了关于独立开发人员通向成功需要注意的一些东西,对于具体的每个贴士的注解有兴趣的朋友可以查看下面标注的原文地址。
明白你从事独立开发的原因和目的。
保持坚持制定计划的好习惯。
万事开头难,第一份订单是关键。
培养多元化业务技能。
提供卓越的服务和品质。
谨小慎微。
营销是必备技能。
学会组织,有条理的工作才是最有效率的。
“独立
JAVA中堆栈和内存分配原理
uule
java
1、栈、堆
1.寄存器:最快的存储区, 由编译器根据需求进行分配,我们在程序中无法控制.2. 栈:存放基本类型的变量数据和对象的引用,但对象本身不存放在栈中,而是存放在堆(new 出来的对象)或者常量池中(字符串常量对象存放在常量池中。)3. 堆:存放所有new出来的对象。4. 静态域:存放静态成员(static定义的)5. 常量池:存放字符串常量和基本类型常量(public static f