存档

文章标签 ‘DOM’

一直想做一个自动读取RSS,自动更新的站。今晚正好没有事,先写个Demo。
临时先保存到文本文件中。顺便复习一下Python。
用到了MD5,XML.DOM,URllib,OS库,都是默认的。
直接插代码吧。

import sys
#coding=gb2312
reload(sys)
sys.setdefaultencoding(‘utf-8′)
import md5
import os
import urllib
import xml.dom.minidom as xxs

#Config
tmpPath=’E:/Else/rss-engins/’

#FileName2Md5
def md5str(t):
h=md5.new()
h.update(t)
return str(h.hexdigest())

#FileSystem
def saveFile(t,c):
f=’data/’+md5str(t)+’.txt’
if os.path.isfile(f):
return
fi=open(tmpPath+’index.txt’,'a’)
fi.writelines(t+’\n’)
fg=open(tmpPath+f,’w')
fg.writelines(c)

#RSS
def saveRss(f,c,encoding):
fp=open(f,’w')
if encoding==’gb2312′:
c=c.decode(‘gb2312′).encode(‘utf-8′)
c=c.replace(‘encoding=”gb2312″‘,’encoding=”utf-8″‘)
fp.writelines(c)
fp.close()
return f
def getRss(url):
ul=urllib.urlopen(url)
t=ul.read()
ul.close()
return t
def rssMain(url,encoding):
f=tmpPath+’xml/’+md5str(url)+’.xml’
if os.path.isfile(f):
return “isok”
return saveRss(f,getRss(url),encoding)

#getInfo
def getRssInfo(url,encoding):
t=rssMain(url,encoding)
if t==’isok’:
print ‘该路径已经采集过了。’
return
t=xxs.parse(t)
ri=t.getElementsByTagName(“channel”)[0].getElementsByTagName(“item”)
for item in ri:
title=str(item.getElementsByTagName(“title”)[0].childNodes[0].data)
content=str(item.getElementsByTagName(“description”)[0].childNodes[0].data)
print ‘保存文章(‘+title+’)中…’
saveFile(title,content)

#处理
def BaiduHi(RS):
for rs in RS:
print ‘加载用户:’+rs+’(http://hi.baidu.com/’+rs+’/rss)…’
getRssInfo(r’http://hi.baidu.com/’+rs+’/rss’,'gb2312′)
print ‘用户:’+rs+’处理完毕。\n’

def SohuBlog(RS):
for rs in RS:
print ‘加载用户:’+rs+’(http://’+rs+’.blog.sohu.com/rss)…’
getRssInfo(r’http://’+rs+’.blog.sohu.com/rss’,'utf-8′)
print ‘用户:’+rs+’处理完毕。\n’

#RSS服务器列表
RssServer=['mqycn','yilin','loveinmyhome','guojing021','900ip','037123']
BaiduHi(RssServer)

RssServer=['appler969','saber-bing','02040229','seahai','satanqueen','douzwang']
SohuBlog(RssServer)

[...]

十二 23rd, 2009 | Filed under Python, Thinks(想法)

Test
Test

/*
文件名:set-Object.html
设计者:苗启源
功 能:可以方便的给DOM对象添加方法,可支持所有浏览器
主 页:http://www.miaoqiyuan.cn/p/set-Object
*/
var $=function(id){return document.getElementById(id);}
//SetObject 设置对象属性
var setObject=function(c,d){for(p in d){c[p]=d[p];if(p==”init”)c.init();}return c;}
//扩展属性
var __isIE=function(){return window.ActiveXObject}
var __Name=function(t){if(this.tmp)this.name=this.tmp;else this.name=’Hello’}
var __setClass=function(t){if(__isIE){this.className=t}else{this.setAttribute(‘class’,t);}}
var __getClass=function(){if(__isIE){return this.className}else{return this.getAttribute(‘class’);}}

//测试对象
var ob=$(“Demo”);var ob2=$(“Demo2″);
setObject(ob,{tmp:’Demo’,init:__Name,setClass:__setClass,getClass:__getClass});
setObject(ob2,{init:__Name,setClass:__setClass,getClass:__getClass});
document.write(ob.name+”\n”);
document.write(ob2.name+”\n”);
document.write(ob.getClass()+”\n”);
document.write(ob2.getClass()+”\n”);
ob.setClass(‘newDemoClass’);
ob2.setClass(‘newDemo2Class’);
document.write(ob.getClass()+”\n”);
document.write(ob2.getClass()+”\n”);

十一 13th, 2009 | Filed under Div+CSS, Javascript, Share(分享), Show(展示)
标签: , , ,

下面时程序生成,测试页面:http://www.miaoqiyuan.cn/products/w3c-dom.htm
这里就不截图了

W3C简要文档
动态创建内容时所用的W3C DOM属性和方法

方法:document.createElement(tagName)
说明:创建指定元素

方法:document.createTextNode(文本)
说明:创建文本节点

方法:_dom.appendChild(子元素)
说明:添加新节点

方法:_dom.getAttribute(属性名)
说明:返回元素的属性

方法:_dom.setAttribute(属性名,属性值)
说明:设置元素属性

方法:_dom.inserBefore(新元素,子元素)
说明:在字节点前插入元素

方法:_dom.removeAttribute(属性名)
说明:删除属性

方法:_dom.removeChild(子元素)
说明:删除节点

方法:_dom.replaceChild(新元素,子元素)
说明:替换节点

方法:_dom.hasChildNodes()
说明:是否有子元素

用于处理XML文档的DOM元素属性

方法:childNotes
说明:返回所有子元素的数组

方法:fristChild
说明:第一个下级元素

方法:lastChild
说明:最后一个下级元素

方法:nextSibling
说明:下一个元素

方法:previousSibling
说明:上一个元素

方法:nodeValue
说明:指定元素的读写属性

方法:parentNode
说明:返回元素的父节点

用于遍历XML文档的DOM元素方法

方法:getElementById(ID名)
说明:根据ID获取DOM对象

方法:getElementsByTagName(TagName)
说明:根据TagName返回对象数组

方法:getElementsByName(Name)
说明:根据Name返回对象数组

方法:hasChildNodes()
说明:判断是否有子元素

方法:getAttribute(属性名)
说明:返回元素的属性

版权所有:苗启源

八 3rd, 2008 | Filed under Javascript, Share(分享), Show(展示)
标签: , ,

属性 描述
activeElement 获取当父 document 拥有焦点时获得焦点的对象。
alinkColor 设置或获取元素中所有激活链接的颜色。
bgColor 不赞成。设置或获取表明对象后面的背景颜色的值。
charset 设置或获取用于解码对象的字符集。
cookie 设置或获取 cookie 的字符串值。
defaultCharset 从当前的区域语言中获取默认字符集。
designMode 设置或获取表明文档是否可被编辑的值。
dir 设置或获取表明对象的阅读顺序的值。
doctype 获取与当前文档关联的文档类型声明。
documentElement 获取对文档根结点的引用。
domain 设置或获取文档的安全域名。
expando 设置或获取表明是否可对象内创建任意变量的值。
fgColor 设置或获取文档的前景(文本)颜色。
fileCreatedDate 获取文件创建的日期。
fileModifiedDate 获取文件上次修改的日期。
fileSize 获取文件大小。
implementation 获取当前文档的 implementation 对象。
lastModified 获取页面上次修改的日期,若页面提供的话。
linkColor 设置或获取对象文档链接的颜色。
parentWindow 获取容器对象所在窗口的引用。
protocol 设置或获取 URL 的协议部分。
readyState 获取表明对象当前状态的值。
referrer 获取将用户引入当前页面的位置 URL。
uniqueID 获取为对象自动生成的唯一标识符。
URL 设置或获取当前文档的 URL。
URLUnencoded 获取文档的 URL,去除所有字符编码。
vlinkColor 设置或获取用户已访问过的链接颜色。
XMLDocument 获取对由对象引出的的 XML 文档对象模型(DOM)的引用。
XSLDocument 获取对 XSL 文档的顶层结点的引用。
属性
集合
集合 描述
all 返回对象所包含的元素集合的引用。
anchors 获取所有带有 name 和/或 id 属性的 a 对象的集合。此集合中的对象以 [...]

八 3rd, 2008 | Filed under Share(分享)
标签: ,

还有一片关于文件搜索的文章要发,准备测试截图的时候忽然想到了前几天些个一个JS框架,也发上来
测试地址为:http://labs.myw3.cn/JS/myw3sys/
文件下载地址:http://labs.myw3.cn/js/resource/myw3sys.js

通过该JS框架,可以:
1,通过_Swf(“wjgww.swf”,320,240,2);在网页中插入一个wjgww.swf的Flash文件
2,使用_Query(“a”)来获取通过GET提交的a对应数据
3,用_Get(“li”,”tagname”,_Get(“das”))[0]来获取ID为das的第一个tagname为li的子对象
4,用_Get(“dax”).Class.add(“x1″)来修改classname,实现超炫的效果

七 17th, 2008 | Filed under Javascript, Show(展示)
标签: , , ,