标签归档:编程

各种倒计时JQUERY的解决DEMO,增正计时

[code lang=”js”]<!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/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>倒计时</title>
<script type="text/javascript" src="http://auto.sina.com.cn/683/2009/0901/jquery.js"></script>
</head>
<body>
<div class="daty"></div>
<div class="watch"></div>
<div class="djs"></div>
<script>
$(function(){
var timedate= new Date("2011/2/2");
var now = new Date();
var dates = timedate.getTime()-now.getTime();
var times =Math.abs(Math.floor(dates/(1000*60*60*24)));
jQuery(".daty").text("距离XX开幕还有"+times+"天");
})
$(function(){
function _fresh(){
var d2 = new Date();
d2.setHours(18,0,0,0)
var d0 = new Date();
var ts = (d2-d0)
__h=parseInt((ts/3600000)%24);
__m=parseInt((ts/60000)%60);
__s=parseInt((ts/1000)%60);
$(".watch").html("距离下班时间还有"+__h+"小时"+__m+"分"+__s+"秒")
var endtime=new Date("2012/01/19,12:20:12");
var xztime = new Date();
var ctime = parseInt((endtime.getTime()-xztime.getTime())/1000);
__d=parseInt(ctime/3600/24);
__h=parseInt((ctime/3600)%24);
__m=parseInt((ctime/60)%60);
__s=parseInt(ctime%60);
$(".djs").html("距离2012/2/2中午12:20:12还有"+__d+"天"+__h+"小时"+__m+"分"+__s+"秒")
}
_fresh()
var sh;
sh=setInterval(_fresh,1000);
})
</script>
</body>
</html>
[/code]

Java RMI之HelloWorld篇

 

Java RMI 指的是远程方法调用 (Remote Method Invocation)。它是一种机制,能够让在某个 Java 虚拟机上的对象调用另一个 Java 虚拟机中的对象上的方法。可以用此方法调用的任何对象必须实现该远程接口。
 
Java RMI不是什么新技术(在Java1.1的时代都有了),但却是是非常重要的底层技术。
大名鼎鼎的EJB都是建立在rmi基础之上的,现在还有一些开源的远程调用组件,其底层技术也是rmi。
 
在大力鼓吹Web Service、SOA的时代,是不是每个应用都应该选用笨拙的Web Service组件来实现,通过对比测试后,RMI是最简单的,在一些小的应用中是最合适的。
 
下面通过一个简单的例子来说明RMI的原理和应用,下面这个例子是一个简单HelloWorld,但已涵盖RMI的核心应用与开发模式。
 
/** 

* Created by IntelliJ IDEA. 

* User: leizhimin 

* Date: 2008-8-7 21:50:02 

* 定义一个远程接口,必须继承Remote接口,其中需要远程调用的方法必须抛出RemoteException异常 

*/
 

public interface IHello extends Remote { 



    /** 

     * 简单的返回“Hello World!"字样 

     * @return 返回“Hello World!"字样 

     * @throws java.rmi.RemoteException 

     */
 

    public String helloWorld() throws RemoteException; 



    /** 

     * 一个简单的业务方法,根据传入的人名返回相应的问候语 

     * @param someBodyName  人名 

     * @return 返回相应的问候语 

     * @throws java.rmi.RemoteException 

     */
 

    public String sayHelloToSomeBody(String someBodyName) throws RemoteException; 

}
 

使用httpClient模拟登陆校内网并留言

转自:http://shengmo8611.iteye.com/blog/853034

使用httpClient模拟登陆校内网并留言
首先我使用的是一个叫做iehttpHeader的IE浏览器的插件将前传后打开IE浏览器后点击查看–iehttpHeader浏览器下方就 会出现交互信息了其安装件我已经放在附件里了如果你有火狐的话最好配合火狐debug一起使用因为有些时候iehttpheader得到的头部信息并不十 分的完整..我将我的
一部分头部信息以及代码凉一下,大家见笑了
登陆的头部信息:

 

[color=brown]POST /PLogin.do HTTP/1.1
Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/msword,application/vnd.ms-excel, application/vnd.ms-powerpoint, application/QVOD, application/QVOD, */*
Referer: http://www.renren.com/PLogin.do
Accept-Language: zh-cn
Content-Type: application/x-www-form-urlencoded
UA-CPU: x86
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 2.0.50727)
Host: www.renren.com
Content-Length: 171
Connection: Keep-Alive
Cache-Control: no-cache
Cookie: ick=c7782bec-a19a-4177-a4d8-ea2517415e6c; _r01_=1; _de=25733BD8775D04BB608BA0DF927B991F5212E40F3D18115C

email=cuiqiang8611@163.com&password=0532cuiqiang0532&origURL=http%3A%2F%2Fwww.renren.com%2Fhome&domain=renren.com&formName=&method=&isplogin=true&submit=%E7%99%BB%E5%BD%95[/color]

 

使用 jsoup 对 HTML 文档进行解析和操作

 

jsoup 简介

Java 程序在解析 HTML 文档时,相信大家都接触过 htmlparser 这个开源项目,我曾经在 IBM DW 上发表过两篇关于 htmlparser 的文章,分别是:从 HTML 中攫取你所需的信息和 扩展 HTMLParser 对自定义标签的处理能力。但现在我已经不再使用 htmlparser 了,原因是 htmlparser 很少更新,但最重要的是有了 jsoup 。

jsoup 是一款 Java 的 HTML 解析器,可直接解析某个 URL 地址、HTML 文本内容。它提供了一套非常省力的 API,可通过 DOM,CSS 以及类似于 jQuery 的操作方法来取出和操作数据。

jsoup 的主要功能如下:

1. 从一个 URL,文件或字符串中解析 HTML;

2. 使用 DOM 或 CSS 选择器来查找、取出数据;

3. 可操作 HTML 元素、属性、文本;

jsoup 是基于 MIT 协议发布的,可放心使用于商业项目。

jsoup 的主要类层次结构如图 1 所示:



图 1. jsoup 的类层次结构

图 1. jsoup 的类层次结构 

接下来我们专门针对几种常见的应用场景举例说明 jsoup 是如何优雅的进行 HTML 文档处理的。

 

继续阅读

Python 爬虫抓站 记录(虾米,百度,豆瓣,新浪微博)

python 下用到的库,urllib, urllib2, BeautifulSoup, cookielib, mechanize, re

看Firebug模拟浏览器行为。

1. 虾米

虾米不用登陆,没有IP限制,最简单。Python抓了下Xiami电台的试听数 里用的是

import urllib2

content = urllib2.urlopen('http://www.xiami.com/artist/top/id/1234').read()

每个歌手爬个两三页。把试听数10000以上的歌记下来。歌手id大概有11w。

处理网页用split, 正则表达式re.compile, BeautifulSoup都成。

( Beautiful Soup的中文文档 http://www.crummy.com/software/BeautifulSoup/bs3/documentation.zh.html )

from BeautifulSoup import BeautifulSoup

soup = BeautifulSoup(content)

就能对soup操作了,支持正则表达式,譬如

soup.find('p', align=re.compile('^b.*'))['id']#可以从 <p id="secondpara" align="blah"> 中抓出 secondpara, 可以通过这个抓到a href=""中间的url



soup.find("b", { "class" : "lime" })#可以抓到 <b class="lime">Lime</b>



soup.find("b", { "class" : "lime" }).string #可以提取到<>与</>中间的内容 Lime。

2. 百度

如果想在空间里取米粒之类的操作就要登陆,mechanize比较好用。

 

import mechanize
import cookielib

# Browser
br = mechanize.Browser()

# Cookie Jar
cj = cookielib.LWPCookieJar()
br.set_cookiejar(cj)

# Browser options
br.set_handle_equiv(True)
br.set_handle_gzip(True)
br.set_handle_redirect(True)
br.set_handle_referer(True)
br.set_handle_robots(False)

br.addheaders = [('User-agent''Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.1) Gecko/2008071615 Fedora/3.0.1-1.fc9 Firefox/3.0.1')]
r = br.open('https://passport.baidu.com/?login&tpl=mn')

br.select_form(nr=0)
br.form['username']='abcabcabc' #用户名
br.form.find_control("password").readonly = False
br.form['password']='123123123' #密码
br.submit()

 

然后可以试试开个百度窗口看看自己的用户名在不在网页里

 

content = br.open('http://www.baidu.com').read()

print 'cwyalpha' in content

 

3. 新浪微博

新浪微博的登陆很麻烦。网上有很多模拟SinaSSO登陆的做法,比如

http://chen.yi.bo.blog.163.com/blog/static/15062110920120151191189/

http://denger.iteye.com/blog/1039052

http://community.itbbs.cn/thread/19120/

http://blog.csdn.net/xiaojianpitt/article/details/6440561

继续阅读

不用安装oracle客户端也可以用plsql连接远程oracle

不用安装oracle客户端也可以用plsql连接远程oracle
关键字: plsql连接远程oracle
每次问人家,plsql 可不可以直接远程连接服务器,他们都说要安装客户端,记得以前用过个什么sql deveplore 什么的工具,不用安装客户端的,而且是绿色软件来的,我就想,一定就办法,不用这么麻烦安装客户端的。上网找了找,下面把我的实践详细过程记录下来,希望对大家有帮助,有什么不对的,请大家多多评论,指出来。
1、在安装ORACLE服务器的机器上搜索下列文件,
oci.dll
ocijdbc10.dll
ociw32.dll
orannzsbb10.dll
oraocci10.dll
oraociei10.dll
sqlnet.ora
tnsnames.ora
classes12.jar
ojdbc14.jar
放到一个文件夹,如 oraclient
2、配置tnsnames.ora,如果本机上没有安装oracle,
可以从安装了oracle的机上拷贝一个(tnsnames.ora文件在%ORACLE_HOME%/network/admin下)放在上面的目录D:/oraclient下。
oracledata =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.58)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = oracledata)
)
)

3、添加一个环境变量,名为TNS_ADMIN,值为tnsnames.ora文件所在路径(如:D:/oraclient,特别是重装后或其它操作,忘了TNS_ADMIN变量,plsql登陆就会报无法解析指定的连接标识符),这是为了能够找到上面说的tnsnames.ora。如果本机上安装了ORACLE,并且设置了ORACLE_HOME环境变量,那么会自动在%ORACLE_HOME%/network/admin/位置查找tnsnames.ora文件。

4、设置ORACLE的语言,添加环境变量:
“NLS_LANG = SIMPLIFIEDCHINESE_CHINA.ZHS16GBK”,(AMERICAN_AMERICA.US7ASCII 是ASCII编码类型,其它类型可自己到服务器看一下或网上查找一下)

Notepad++ 快捷键

Ctrl+C 复制
Ctrl+X 剪切
Ctrl+V 粘贴
Ctrl+Z 撤消
Ctrl+Y 恢复
Ctrl+A 全选
Ctrl+F 键查找对话框启动
Ctrl+H 查找/替换对话框
Ctrl+D 复制并粘贴当行 Ctrl+L 删除当前行
Ctrl+T 当行向上移动一行
F3 查找下一个
Shift+F3 查找上一个
Ctrl+Shift+F 组合在文件中查找
Ctrl+F3 查找(volatil)下一页
Ctrl+Shift+F3 查找(volatil)上一页
Ctrl+Shift+I 组合增量搜索
Ctrl+S 保存文件
Ctrl+Alt+S 另存为
Ctrl+Shift+S 保存所有文件
Ctrl+O 打开文件
Ctrl+N 新建立文件
Ctrl+F2 切换书签
F2 转到下一个书签
Shift+F2 转到上一个书签
CTRL+G 定位换行,偏移量
Ctrl+W 关闭当前文档
Alt+Shift+Arrow 键移箭头键或
ALT+鼠标左键 单击列选择
F5 启动运行对话框
Ctrl+空格 输入法切换
Alt+空格 程序单击右键
Tab 插入缩进
Shift+Tab 删除缩进
Alt-Shift-Arrow 或
Ctrl +鼠标滚轮钮 放大缩小
Ctrl +Keypad/恢复原来的大小
F11 全屏模式
Ctrl+Tab 下一个文档
Ctrl+Shift+Tab 上一个文档
Ctrl+Shift+Up 当前线向上移
Ctrl-Shift-Down 当前线向下移
Ctrl+Alt+F 折叠当前层次
Ctrl+Alt+Shift+F展开当前层次
Alt+0 折叠全部
Alt+Shift+0 展开全部
Alt+(1~8) 折叠级别(1~8)
Alt+Shift+(1~8) 展开级别(1~8)
Ctrl+BackSpace 删除开始词
Ctrl+Delete 删除结束词
Ctrl+Shift+BackSpace 删除至行
Ctrl+Shift+Delete 删除至行尾
CTRL+U 转换为小写
Ctrl+Shift+U 转换为大写
Ctrl+B 转至匹配的括号
Ctrl+Shift+R 的开始录制/停止录制宏
Ctrl+Shift+P 播放录制的宏
CTRL+Q 注释/取消注释
Ctrl+Shift+Q 值流评论
Ctrl+Shift+T 当前行复制到剪贴板
Ctrl+P 打印
Alt+F4 退出
Ctrl+I 分割线
Ctrl+J 连接行
Ctrl+Alt+R 从右边阅读
Ctrl+Alt+L 从左边阅读
F1 关于帮助