在网站上显示每日一句英语和在帖子中背单词(背单词没

背单词的插件在asp和php系统中均比较多,如:dvbbs,phpwind,dicuz,leadbbs...,但是在jsp中好像还没有。还没有找到纯javascript的背单词插件。

每日一句引自金山词霸:

代码来自网上,忘了地址:

<div id="daily" align="center">

<a href="http://cb.kingsoft.com/html/help/365.php" target="_blank">每日一句

</a>  <script language="javascript"  charset="gb2312"

src="http://bill.cb.kingsoft.com/ads/365.php?act=a"></script>  [引自金山词霸]

</div>

基于XML-RPC的BloggerAPI学习(转贴)

基于XML-RPC的BloggerAPI学习(转自:http://blog.donews.com/softbunny/articles/11032.aspx)

blogger_logo.gif   Luliang的mail2blog脚本,通过基于XML-RPC的BloggerAPI来实现的发布blog的功能。

  BloggerAPI是一套程序接口,用以支持远程操作blog.这个规范现在的版本是1.0,是个试验版本和α版本。但是,规范的研发人员不再对BloggerAPI进一步地开发,他们正在制定一套新的、更稳定的API,新项目的名称为echomoinmoin.gif

.

  虽然如此,了解一下这个bloggerAPI还是非常有意义的。一方面有很多语言提供了实现包,另一方面很blog工具也提供了相应的包,如MT。需要说明的是,BloggerAPI提供的功能太有限了,只定义了6个方法或函数,所以出了一个RFC叫 MetaWeblog API,对其进行了扩展。我看了一下,MT2.6.4就支持MetaWeblogAPI.

  下面对二者进行简单地介绍,以后有机会,再跟echo比较一下。:)

BloggerAPI based on XML-RPC

1、方法列表

方法 说明

blogger.newPost 向批定的blog增加新的文章(post),通常会在增加后即发布。

blogger.editPost 编辑一篇文章(post),通常会在修改后发布。

blogger.getUsersBlogs 返回一个成员的所有文章的信息。

blogger.getUserInfo 鉴证一个用户并反回其信息(如userid,email等)

blogger.getTemplate 返回指定的blog的主要或文档索引模板

blogger.setTemplate 编辑指定的blog的主要或文档索引模板

2、blogger.newPost

参数说明

参数 说明

appkey (string) 发送这个post的程序的唯一标志

blogid (string) 这个post即将发送到的blog的标志

username (string) 有权post文章的用户名

password (string) 用户密码

content (string) Post的内容

publish (boolean) 是否发布

示例:

请求XML-RPC调用的数据

POST /api/RPC2 HTTP/1.0

User-Agent: Java.Net Wa-Wa 2.0

Host: plant.blogger.com

Content-Type: text/xml

Content-length: 515

<?xml version="1.0"?>

<methodCall>

<methodName>blogger.newPost</methodName>

<params>

<param><value><string>C6CE3FFB3174106584CBB250C0B0519BF4E294</string></value></param>

<param><value><string>744145</string></value></param>

<param><value><string>ewilliams</string></value></param>

<param><value><string>secret</string></value></param>

<param><value><string>Today I had a peanut butter and pickle sandwich

for lunch. Do you like peanut-butter and pickle sandwiches? I do.

They're yummy. Please comment!</string></value></param>

<param><value><boolean>false</boolean></value></param>

</params>

</methodCall>

成功时的应答

HTTP/1.1 200 OK

Connection: close

Content-Length: 125

Content-Type: text/xml

Date: Mon, 6 Aug 20001 19:55:08 GMT

Server: Java.Net Wa-Wa/Linux

<?xml version="1.0"?>

<methodResponse>

<params>

<param>

<value><string>4515151</string></value>

</param>

</params>

</methodResponse>

失败时的应答

错误信息通过XML-RPC <methodResponse>及<fault> 项返回,包含着的 <struct> 有错误码和描述,这是由xml-rpc规范定义.

HTTP/1.1 200 OK

Connection: close

Content-Length: 225

Content-Type: text/xml

Date: Mon, 6 Aug 20001 19:55:08 GMT

Server: Java.Net Wa-Wa/Linux

<?xml version="1.0"?>

<methodResponse>

<fault>

<value>

<struct>

<member>

<name>faultCode</name>

<value><int>4</int></value>

</member>

<member>

<name>faultString</name>

<value><string>java.lang.Exception: java.lang.Exception: Error: AppKey is

invalid or inactive.</string></value>

</member>

</struct>

</value>

</fault>

</methodResponse>

3、blogger.editPost

参数说明

参数 说明

appkey (string) 发送这个post的程序的唯一标志

postid (string) 某篇post的唯一标志

username (string) 有权修改文章的用户名(作者或管理员)

password (string) 用户密码

content (string) Post的内容

publish (boolean) 是否发布

4、blogger.getUserBlogs

参数说明

参数 说明

appkey (string) 发送这个post的程序的唯一标志

username (string) 用户名

password (string) 用户密码

成功应答示例

HTTP/1.1 200 OK

Connection: close

Content-Length: 125

Content-Type: text/xml

Date: Mon, 6 Aug 20001 19:55:08 GMT

Server: Java.Net Wa-Wa/Linux

<?xml version="1.0" encoding="ISO-8859-1"?>

<methodResponse>

<params>

<param>

<value>

<array>

<data>

<value>

<struct>

<member>

<name>url</name>

<value>http://stuff.foo.com/biz</value>

</member>

<member>

<name>blogid</name>

<value>2997323</value>

</member>

<member>

<name>blogName</name>

<value>Blogger Biz Dev</value>

</member>

</struct>

</value>

<value>

<struct>

<member>

<name>url</name>

<value>http://www.blogger.com/</value>

</member>

<member>

<name>blogid</name>

<value>2723</value>

</member>

<member>

<name>blogName</name>

<value>Blogger News</value>

</member>

</struct>

<value>

<struct>

<member>

<name>url</name>

<value>http://www.geocities.com/rafting/</value>

</member>

<member>

<name>blogid</name>

<value>223723</value>

</member>

<member>

<name>blogName</name>

<value>RaftingBlog</value>

</member>

</struct>

</value>

</value>

</data>

</array>

</value>

</param>

</params>

</methodResponse>

5、blogger.getUserInfo

参数说明

参数 说明

appkey (string) 发送这个post的程序的唯一标志

username (string) 用户名

password (string) 用户密码

成功应答示例

HTTP/1.1 200 OK

Connection: close

Content-Length: 125

Content-Type: text/xml

Date: Mon, 6 Aug 20001 19:55:08 GMT

Server: Java.Net Wa-Wa/Linux

<?xml version="1.0" encoding="ISO-8859-1"?>

<methodResponse>

<params>

<param>

<value>

<struct>

<member>

<name>nickname</name>

<value>Ev.</value>

</member>

<member>

<name>userid</name>

<value>1</value>

</member>

<member>

<name>url</name>

<value>http://www.evhead.com</value>

</member>

<member>

<name>email</name>

<value>ev@pyra.com</value>

</member>

<member>

<name>lastname</name>

<value>Williams</value>

</member>

<member>

<name>firstname</name>

<value>Evan</value>

</member>

</struct>

</value>

</param>

</params>

</methodResponse>

6、blogger.getTemplate

参数说明

参数 说明

appkey (string) 发送这个post的程序的唯一标志

blogid (string) 这个post即将发送到的blog的标志

username (string) 有权post文章的用户名

password (string) 用户密码

templateType (string) 指定返回哪个模板,目前只能是 "main" 或 "archiveIndex".

成功时的应答,....表示此处内容被我省略。

<?xml version="1.0" encoding="ISO-8859-1"?<<methodResponse<<params<<param<<value<<HTML<

<HEAD<

<TITLE<<$BlogTitle$<: <$BlogDescription$<</TITLE<

</BODY<

</HTML<

</value<</param<</params<</methodResponse<

7、blogger.setTemplate

参数说明

参数 说明

appkey (string) 发送这个post的程序的唯一标志

blogid (string) 这个post即将发送到的blog的标志

username (string) 有权post文章的用户名

password (string) 用户密码

template (string) 模板文本(通常是HTML).必须包含 和标签,因它们需要发布。 (?我的mainindex里没有啊)

templateType (string) 指定返回哪个模板,目前只能是 "main" 或 "archiveIndex".

请求格式示例

POST /api/RPC2 HTTP/1.0

User-Agent: Java.Net Wa-Wa 2.0

Host: plant.blogger.com

Content-Type: text/xml

Content-length: 515

<?xml version="1.0"?>

<methodCall>

<methodName>blogger.setTemplate</methodName>

<params>

<param><value><string>C6CE3FFB3174106584CBB250C0B0519BF4E294</string></value></param>

<param><value><string>744154</string></value></param>

<param><value><string>ewilliams</string></value></param>

<param><value><string>secret</string></value></param>

<param><value><string><html><head><title><$BlogTitle$></title></head><body><Blogger><BlogDateHeader><h1><$BlogDateHeaderDate$></h1></BlogDateHeader><$BlogItemBody$><br></Blogger></body></html></string></value></param>

<param><value><string>main</string></value></param>

</params>

</methodCall>

MetaWeblog API

这个rfc的最新发布是在08/26/2003.

1、什么是MetaWeblog API

  MetaWeblog API (MWA)是一套编程接口,允许外面的程序能取得和设置blog文章的文本或属性。它基于流行的XML-RPC通信协议,后者在很多的流行的开发环境中都有了实现的包。

2、MetaWeblog API与Blogger API 的关系

  MetaWeblog API是对Blogger API增强, Blogger API只能取得或设置blog文章的文本内容(hedong问,能取得吗?).在2002年春天MWA面世,在此以前许多blog工具能存储许多扩展数据,但不能访问或编辑这些数据,因为没有一个通过的API。

  到2003年夏天,在本文的写作期间,大部分流行的blog工具和编辑器,能同时支持Blogger API 和MetaWeblog API.

3、MetaWeblog API和 RSS 2.0 的关系

MetaWeblog API利用XML-RPC来描述一篇blog文章. 我们使用了RSS2.0中对一个项的术语来描述一篇blog文章的元数据,而不是重新发明一套。请参照RSS2.0中对文章的title, link 、description,author, comments, enclosure, guid等的定义或命名。更进一步,由于RSS2.0是可扩展的,因而MetaWeblog API也是可扩展的. 我们在MWA中设计了一些用以表述属性和命名空间的约定。

4、基本函数(entry-points)

1)metaWeblog.newPost (blogid, username, password, struct, publish) returns string

2)metaWeblog.editPost (postid, username, password, struct, publish) returns true

3)metaWeblog.getPost (postid, username, password) returns struct

blogid, username, password 和publish参数的含义同 Blogger API. newPost返回的字符串表示post_id,同Blogger API定义的一样. 而那个struct就是MWA的精华所在。

5、数据结构

  在newPost和editPost中,内容信息不再跟BloggerAPI中那是一个字符串,而是一个数据结构。这个数据结构的成员,就是rss2.0中定义的ITEM的元素。参见后面附表。

  当一个元素有属性时,用一个数据结构(属性做成员)传递属性及其相应的值。如enclosure元素,用一个包含url, length 和type的结构传递属性。

对source元素,数据结构的成员为url 和name,前者为source的属性后者为source值。

对categories元素,传递一个字符串数组。在服务器端,如果传来的category不存在,则忽略不报错,且只保存有效的那些category.(hedong,好象没说domain属性的事啊)

  服务器必须忽略所有不能理解的元素。

在调用 metaWeblog.newPost 或 metaWeblog.editPost时,如果数据结构中含有一个名叫flNotOnHomePage的 boolean 值,则主页不显示此文章而只在分类中显示。

6、其它函数

1)metaWeblog.newMediaObject (blogid, username, password, struct) returns struct

  参数的struct,至少包含name, type and bits三个元素。

name是个字符串,可以用来作存储对象的文件名或用于对象列表的显示。它决定weblog如何引用这个对象。如果name和weblog已有一个对象重名,则替换掉已有的对象。

type是个字符串,表示对象的类型,必须是个标准的MIME类型,如 audio/mpeg or image/jpeg or video/quicktime.

bits是个base64-编码的二进制值,包含着对象的内容。

这个结构可以含有其它的元素,这些元素可以或不能被内容管理系统保存.

当调用失败时,抛出error.当成功时,返回的strcut中,至少要有一个元素url,用以指明这个对象如何被访问。其值只能是一个HTTP url或FTP url.

2)metaWeblog.getCategories (blogid, username, password) returns struct

返回的struct中,为每个分类提供一个子结构,子结构中至少包含三个元素:description, httpurl 和 rssurl.

3)metaWeblog.getRecentPosts (blogid, username, password, numberOfPosts) returns array of structs

  返回是一个结构数组,盛放着最新发布的文章信息。每个结构的内容同metaWeblog.getPost返回内容相同.

  numberOfPosts指明要取回的按发布时间倒序计数的文章数量,当值超过总文章数时,返回全部文章信息。

7、传送带属性的元素

  除了enclosure和source元素有专门规定外,其它元素按下列规则处理:

1)如果一个元素有属性,则用一个struct来表示,各属性为struct的子元素。

2)如果一个元素同时有属性和值,则用一个一个struct来表示,各属性为struct的子元素,再增加一个叫_value的子元素,表示元素的值。这也就要求,元素的属性名不能为_value.

8、传送某命名空间的元素

  RSS 2.0允许使用命名空间. 如果你要传送的元素是一个命名空间的一部分,那就在传递给 newPost 或 editPost 的struct中增加一个子struct,以指明命名空间的URL为名,以要传送的元素值为子元素。

9、说明

  在MWA中不要明确要求传送appkey值,如果应用程序要传送appkey,则在struct中增加一个名为appkey的元素,并赋之以相关的值。

附表:RSS2.0中ITEM的元素列表  

元素(Element) 描述(Description) 例子(Example) 重要性 属性

title 项(item)的标题 Venice Film Festival Tries to Quit Sinking 必备

link 项的URL http://www.nytimes.com/2002/09/07/movies/07FEST.html 必备

description 项的大纲 Some of the most heated chatter at the Venice Film Festival this week was about the way that the arrival of the stars at the Palazzo del Cinema was being staged. 必备

author 该项作者的email oprah@oxygen.net 可选

category 包含该项的一个或几个分类(catogory) Simpsons Characters 可选 domain可选,指分类法的URL

comments 该项的评论(comments)页的URL http://www.myblog.org/cgi-local/mt/mt-comments.cgi?entry_id=290 可选

enclosure 描述该附带的媒体对象 可选 url/length/type皆必备,type须是标准MIME类型

guid 项的唯一标志符串 http://inessential.com/2002/09/01.php#a2 可选 isPermaLink可选,默认为真,指明guid是否为一永久URL。

pubDate 项的发布时间 Sun, 19 May 2002 15:21:36 GMT 可选

source 该项来自的RSS道 Quotes of the Day 可选 Url必备

附:MWAAPI清单

   1. metaWeblog.newPost (blogid, username, password, struct, publish) returns string

   2. metaWeblog.editPost (postid, username, password, struct, publish) returns true

   3. metaWeblog.getPost (postid, username, password) returns struct

   4. metaWeblog.newMediaObject (blogid, username, password, struct) returns struct

   5. metaWeblog.getCategories (blogid, username, password) returns struct

   6. metaWeblog.getRecentPosts (blogid, username, password, numberOfPosts) returns array of structs

Trackback: http://tb.donews.net/TrackBack.aspx?PostId=11032

[点击此处收藏本文]   发表于 2004年04月07日 10:24 PM

有关 Blogger API、MetaWeblog API、MovableType API的转帖3篇

1、Blogger API(http://www.blogger.com/developers/api/1_docs/)

Blogger API

By Evan Williams, 8/7/01

Update: 8/13/01 -Ev.

Update: 6/27/03 -Jason Shellen

Welcome to the Blogger API. This site is for independent developers and partners who are interested in hooking into Blogger with other programs, interfaces, or environments.

Please Note: While we will continue to support the Blogger API we will not be developing it further. We are working along with others in the blogging industry to produce a new, more robust API. You can view the current state of the Echo Project here. For further updates, stay tuned to the bloggerDev mail list and www.blogger.com/developers/.

DISCLAIMER: The current state of this interface is experimental and alpha. I'm sure something's broken and other things will change. Your help in figuring these things out are appreciated, but no guarantees are made about reliability, robustness, or longevity. Use at your own risk.

Protocols

The Blogger API is currently implemented for XML-RPC. There may be others some day.

Methods

These are the available methods:

blogger.newPost: Makes a new post to a designated blog. Optionally, will publish the blog after making the post.

blogger.editPost: Edits a given post. Optionally, will publish the blog after making the edit.

blogger.getUsersBlogs: Returns information on all the blogs a given user is a member of.

blogger.getUserInfo: Authenticates a user and returns basic user info (name, email, userid, etc.).

blogger.getTemplate: Returns the main or archive index template of a given blog.

blogger.setTemplate: Edits the main or archive index template of a given blog.

More Info

There is a mailing list.

There is also a node in the XML-RPC directory pointing to implementations and such.

AppKeys

Good news, friends! We no longer require appkey registration to use the Blogger API. If you send us an appkey of 0123456789ABCDEF, then everything will work fine.

Each API request requires an application key ("appkey"), which is a unique identifier for each application using the interface. You can register an application and get a key with this form. You can distribute appkeys with source code that uses the API. Please use different keys for different apps. Appkeys will be used for tracking, stats, and, potentially, other stuff.

Acknowledgements

The Blogger API implementation uses the Helma XML-RPC library for Java. Also?: Tomcat. And lots of help from some of the people over here.

Copyright © 2001 Pyra Labs

2、有没有与网志交互的 Web Services APIs?(http://hanhan.blog.ccidnet.com/blog/ccid/do_showone/tid_18919.html)

有没有与网志交互的 Web Services APIs?

作者: hanhan11 发表日期: 2006-01-20 17:19 文章属性: 原创 复制链接 

许多网志引 擎都提供属于自己的 Web service 接口,通过编程与网志交互,但目前还没有出现一种标准化的东西。

.Text 和 dasBlog 两者都提供某些 .asmx 端点,可以通过 SOAP 来实现编辑功能,但其接口是不同的。Blogger.com 提供基于 XML-RPC 的交互式 API (Blogger API)。Userland Software 对Blogger API 的功能进行了增强,并把它叫做 MetaWeblog API。这些可能是当今公认的网志 APIs,但仍然不是所有网志引擎都支持的。还有一个用于添加评论的独力的 API 叫做 Comment API,同样,它也不是被普遍支持。

  Atom 组正在努力解决这些问题,Atom API 定义了一个标准的网志 API 用于发布和编辑网志内容。有关信息请参考 The Atom Project 网站。 

阅读全文(192) | 回复(0) | 推送 | 举报 

3、wordpress的XML-RPC开发(http://wuhongsheng.com/blog/archives/2006/268/)

February 5, 2006

wordpress的XML-RPC开发

Filed under: 技术 — 吴洪声 @ 11:17 pm

wordpress支持使用xml-rpc进行开发。但网络上很少有相关的资料。这两天在做一个离线写blog的东东,研究到了这个东西,顺便做一下记录。

wordpress的xml-rpc支持多种API,根据从xmlrpc.php里面提取的数据,支持的API有:

// Blogger API

‘blogger.getUsersBlogs’ => ‘this:blogger_getUsersBlogs’,

‘blogger.getUserInfo’ => ‘this:blogger_getUserInfo’,

‘blogger.getPost’ => ‘this:blogger_getPost’,

‘blogger.getRecentPosts’ => ‘this:blogger_getRecentPosts’,

‘blogger.getTemplate’ => ‘this:blogger_getTemplate’,

‘blogger.setTemplate’ => ‘this:blogger_setTemplate’,

‘blogger.newPost’ => ‘this:blogger_newPost’,

‘blogger.editPost’ => ‘this:blogger_editPost’,

‘blogger.deletePost’ => ‘this:blogger_deletePost’,

// MetaWeblog API (with MT extensions to structs)

‘metaWeblog.newPost’ => ‘this:mw_newPost’,

‘metaWeblog.editPost’ => ‘this:mw_editPost’,

‘metaWeblog.getPost’ => ‘this:mw_getPost’,

‘metaWeblog.getRecentPosts’ => ‘this:mw_getRecentPosts’,

‘metaWeblog.getCategories’ => ‘this:mw_getCategories’,

‘metaWeblog.newMediaObject’ => ‘this:mw_newMediaObject’,

// MetaWeblog API aliases for Blogger API

// see http://www.xmlrpc.com/stories/storyReader$2460

‘metaWeblog.deletePost’ => ‘this:blogger_deletePost’,

‘metaWeblog.getTemplate’ => ‘this:blogger_getTemplate’,

‘metaWeblog.setTemplate’ => ‘this:blogger_setTemplate’,

‘metaWeblog.getUsersBlogs’ => ‘this:blogger_getUsersBlogs’,

// MovableType API

‘mt.getCategoryList’ => ‘this:mt_getCategoryList’,

‘mt.getRecentPostTitles’ => ‘this:mt_getRecentPostTitles’,

‘mt.getPostCategories’ => ‘this:mt_getPostCategories’,

‘mt.setPostCategories’ => ‘this:mt_setPostCategories’,

‘mt.supportedMethods’ => ‘this:mt_supportedMethods’,

‘mt.supportedTextFilters’ => ‘this:mt_supportedTextFilters’,

‘mt.getTrackbackPings’ => ‘this:mt_getTrackbackPings’,

‘mt.publishPost’ => ‘this:mt_publishPost’,

// PingBack

‘pingback.ping’ => ‘this:pingback_ping’,

‘pingback.extensions.getPingbacks’ => ‘this:pingback_extensions_getPingbacks’,

‘demo.sayHello’ => ‘this:sayHello’,

‘demo.addTwoNumbers’ => ‘this:addTwoNumbers’

其中最后两个API为用于测试的DEMO。

根据XML-RPC的约定,客户端必须向服务器作以下post:

POST /RPC2 HTTP/1.0

User-Agent: Frontier/5.1.2 (WinNT)

Host: betty.userland.com

Content-Type: text/xml

Content-length: 181

<?xml version="1.0"?>

<methodCall>

<methodName>examples.getStateName</methodName>

<params>

<param>

<value><i4>41</i4></value>

</param>

</params>

</methodCall>

User-Agent和Host项是必须的。

Content-Type的值必须是text/xml.

Content-Length必须指定,而且必须是正确的值。

下面是一个例子:

POST /api/RPC2 HTTP/1.0

User-Agent: Java.Net Wa-Wa 2.0

Host: plant.blogger.com

Content-Type: text/xml

Content-length: 515

<?xml version="1.0"?>

<methodCall>

<methodName>blogger.newPost</methodName>

<params>

<param><value><string>C6CE3FFB3174106584CBB250C0B0519BF4E294</string></value></param>

<param><value><string>744145</string></value></param>

<param><value><string>ewilliams</string></value></param>

<param><value><string>secret</string></value></param>

<param><value><string>Today I had a peanut butter and pickle

sandwich

for lunch. Do you like peanut-butter and pickle sandwiches? I do.

They’re yummy. Please comment!</string></value></param>

<param><value><boolean>false</boolean></value></param>

</params>

</methodCall>

服务器返回的数据:

HTTP/1.1 200 OK

Connection: close

Content-Length: 125

Content-Type: text/xml

Date: Mon, 6 Aug 20001 19:55:08 GMT

Server: Java.Net Wa-Wa/Linux

<?xml version="1.0"?>

<methodResponse>

<params>

<param>

<value><string>4515151</string></value>

</param>

</params>

</methodResponse>

如果出现错误,服务器会返回以下内容:

HTTP/1.1 200 OK

Connection: close

Content-Length: 225

Content-Type: text/xml

Date: Mon, 6 Aug 20001 19:55:08 GMT

Server: Java.Net Wa-Wa/Linux

<?xml version="1.0"?>

<methodResponse>

<fault>

<value>

<struct>

<member>

<name>faultCode</name>

<value><int>4</int></value>

</member>

<member>

<name>faultString</name>

<value><string>java.lang.Exception: java.lang.Exception: Error:

AppKey is

invalid or inactive.</string></value>

</member>

</struct>

</value>

</fault>

</methodResponse>

wordpress, xml rpc

No Comments »

No comments yet.

RSS feed for comments on this post. TrackBack URI

Leave a comment

“123行动!”定位再思考,能不能给个建议啊?

  定位于单独的学习日记范围太窄,定位于人的所有目标实现管理太宽,无力展开。就初步定位于业余的、自学的程序爱好者的编程实践的探索吧(按我自己的情况来为网站定位,也许可以吸引部分跟我同类似的朋友的目光)。

  准备开几个练功场栏目:程序练功场、英语练功场,以目标为导向、行动为核心、实现目标为成功。

  我也不知道究竟把这个网站往哪个方向做,都试试在说,就像打麻将,先出几张牌探探虚实。

  有哪位朋友看了这篇日记,能不能给个建议啊?

这段时间把这个目标停下来,现在重新启动

  想做的太多了:把“123行动!”的总体规划好好做一下,学建模(AndroMDA与ArgoUML),设计模式,学习日记重构,太多的事想做了,还要......

  想做太多是做不成的,现在把这个目标的第2和3步实现。

  1、先把要用到的技术要点初步掌握;

  2、学习一下相关网站的同步操作流程(如:www.43things.com)(实现学习日记和我的blog的双向绑定:http://www.123go.org.cn/disGoalContentAction.do?goalID=1547&naviStr=a10);

  3、系统设计,用ArgoUML认真设计一下,我发现这样很对我的口味,像设置RSS Feed这样的小功能我也用它设计了一下;

  4、实现。

  

  技术要点:

  1)、关于item的内容,请看基于XML-RPC的BloggerAPI学习(http://www.123go.org.cn/disDiaryContentAction.do?searchDiaryID=1771&goalID=1554&naviStr=a10a21547ah1726)

  2)Currently, w.bloggar is compatible with all tools that implements Blogger API, metaWeblog API, MovableType API and b2 API; all based on the XML-RPC definition. (http://www.123go.org.cn/disDiaryContentAction.do?searchDiaryID=1771&goalID=1622&naviStr=a10a21547ah1625)

  可见基础是xml-rpc,可以用“XML-RPC 之 Apache XML-RPC 实例 及规范(转帖2篇)”(http://www.123go.org.cn/disDiaryContentAction.do?searchDiaryID=1771&goalID=1771&naviStr=a10a21547)这篇文章并结合“一个使用了xml_rpc和 Rome 0.6 for RSS / Atom feed generation开源blog ”(http://www.123go.org.cn/disDiaryContentAction.do?searchDiaryID=1716&goalID=1716&naviStr=a10a21547)这个开源Blog系统来学习XML-RPC的使用。

  现在,我基本上可以在Linux下进行写程序了。就用这个功能来进行在linux开发的实践之一吧。

搜索引擎的本站IP访问分析;关于搜索引擎爬虫灾害转帖

google:    66.249.66.98

microsoft: 65.54.188.105~107

yahoo:     68.142.249.183; 68.142.251.124

  为了知道本站的访问来源,加了记录IP的功能,今天发现上面两个IP出现得频率很高,估计是搜索引擎,上www.123cha.com一查,果然如此。

  从log记录中看,这两个搜索引擎访问网站的脾气也很有意思:

  google是基本不间断的一阵猛吃(3~7秒一次,延续了3分钟),然后今天就不来光顾了;

  而microsoft的3个IP是间断访问的,在一天中都有分布。时间间隔也不定,几秒到几分钟,几十分钟不等,没有规律性,也不知道microsoft的这3个IP之间有没有协作关系,比如:是否重复访问了一个页面?

  对待搜索引擎的造访,像我们这样的无名小站倒是热烈欢迎它这位客人,因为它可以让更多的人找到我们;但是对一些用户多倒是资源不足的网站却是一个问题,因为它要占网络资源,

比如:http://www.javaresearch.org/jr/thread.jsp?column=376&thread=40769(转帖)

今天屏蔽了sohu的两个爬虫  发表时间: 2005-11-03 14:56  

 

今天屏蔽了sohu的两个爬虫。这两个爬虫根本不理会robots.txt文件的规定,并且非常疯狂,来自IP:220.181.26.110 和 220.181.26.112。 平均1分钟内爬过177 个页面,我们做了Filter,对他进行限制,但这个爬虫根本不予理会,Filter拒绝了他的页面,他会反复地隔13~15″左右继续。并且每一个连接都开一个新的session,导致jr的session数目在短短的半个小时就上升到5000多个。这和攻击没有什么两样。

所以,只能对这个爬虫说“NO”。

屏蔽这两个IP后,在短短10几分钟,Session数目从恐怖的5000多下降到2000多,并且还在直线下降。预计应该在30分钟后下降到几百的正常水平。

近期关于爬虫的“职业道德”的讨论不少,下面给出几个连接,如果你发现你的站近期异常,可以查查看是不是来自爬虫的“攻击”所致。

  上面是来自JR的文章,上面提到的搜索引擎每一次访问都开一个session倒是我很早就发现的,但是不知道搜索引擎为什么不能保持session?

 

XML-RPC 之 Apache XML-RPC 实例 及规范(转帖2篇)

XML-RPC 之 Apache XML-RPC 实例 (转自:http://spaces.msn.com/lzhuacuo/blog/cns!18730E989D068035!507.entry?_c11_blogpart_blogpart=blogview&_c=blogpart#permalink)

 

XML-RPC 之 Apache XML-RPC 实例

作者:王恩建 来源:http://www.sentom.net

XML-RPC 是工作在 Internet 上的远程过程调用协议。通俗点讲,就是使用 HTTP 协议交互,交互的载体是 XML 文件。XML-RPC 具体的规范说 明请参考这里。

图片来自XML-RPC官方网站

XML-RPC 规范定义了六种数据类型,下表是这六种数据类型与 Java 的数据类型对应表。

XML-RPC Java

<i4> 或 <int> int

<boolean> boolean

<string> java.lang.String

<double> double

<dateTime.iso8601> java.util.Date

<struct> java.util.Hashtable

<array> java.util.Vector

<base64> byte[ ]

XML-RPC 规范的各种平台都有具体实现,XML-RPC 规范的 Java 实现都有好几种,这里我们选择了 Apache XML-RPC。

XML-RPC 服务端实现

先定义一个简单业务对象 MyHandler,远程客户端将调用该对象的方法,具体代码如下:

package net.sentom.xmlrpc;

public class MyHandler {

public String sayHello(String str){

return "Hello," + str;

}

}

然后定义一个 Servlet 名叫 MyXmlRpcServer,远程客户端通过 HTTP-POST 访问该 Servlet。

package net.sentom.xmlrpc;

import java.io.IOException;

import java.io.OutputStream;

import javax.servlet.ServletException;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import org.apache.xmlrpc.XmlRpcServer;

public class MyXmlRpcServer extends HttpServlet {

public void doPost(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

XmlRpcServer xmlrpc = new XmlRpcServer();

xmlrpc.addHandler("myHandler", new MyHandler());

byte[] result = xmlrpc.execute(request.getInputStream());

response.setContentType("text/xml");

response.setContentLength(result.length);

OutputStream out = response.getOutputStream();

out.write(result);

out.flush();

}

}

需要特别说明是:

xmlrpc.addHandler("myHandler", new MyHandler());

为了便于理解,这里可以看成普通的:

MyHandler myHandler = new MyHandler();

最后在web.xml文件中加入以下几行:

<servlet>

    <servlet-name>MyXmlRpcServer</servlet-name>

    <servlet-class>net.sentom.xmlrpc.MyXmlRpcServer</servlet-class>

</servlet>

<servlet-mapping>

    <servlet-name>MyXmlRpcServer</servlet-name>

    <url-pattern>/MyXmlRpcServer</url-pattern>

</servlet-mapping>

XML-RPC 客户端实现

客户端相对简单一些,先来一个 Java 客户端实现 MyXmlRpcClient:

package net.sentom.xmlrpc;

import java.io.IOException;

import java.net.MalformedURLException;

import java.util.Vector;

import org.apache.xmlrpc.XmlRpcClient;

import org.apache.xmlrpc.XmlRpcException;

public class MyXmlRpcClient {

public static void main(String[] args) {

try {

XmlRpcClient xmlrpc = new XmlRpcClient("http://localhost:8080/XMLRPC/MyXmlRpcServer");

Vector params = new Vector();

params.addElement("Tom");

String result = (String) xmlrpc.execute("myHandler.sayHello",params);

System.out.println(result);

} catch (MalformedURLException e) {

System.out.println(e.toString());

} catch (XmlRpcException e) {

System.out.println(e.toString());

} catch (IOException e) {

e.printStackTrace();

}

}

http://localhost:8080/XMLRPC/MyXmlRpcServer 为 MyXmlRpcServer 的访问URL。

String result = (String) xmlrpc.execute("myHandler.sayHello",params);

再来一个 Python 客户端实现

import xmlrpclib

url = 'http://localhost:8080/XMLRPC/MyXmlRpcServer';

server = xmlrpclib.Server(url);

print server.myHandler.sayHello('Tom');

 

 

 

添加评论

9:12  |  固定链接 | 引用通告 (0) | 记录它 | Open Source

 

 

固定链接  关闭

 

http://spaces.msn.com/lzhuacuo/blog/cns!18730E989D068035!507.entry

 

 

 

 

 

 

 

XML-RPC规范(中文版) (转自:http://spaces.msn.com/lzhuacuo/blog/cns!18730E989D068035!504.entry?_c11_blogpart_blogpart=blogview&_c=blogpart#permalink)

 

XML-RPC规范(中文版)

把这篇文章转到blog里,希望rainbowsoft能看见有朝一日给blog写支持客户端post的功能时能用上

 

Tue, Jun 15, 1999; by Dave Winer. (翻译:滴水 最后修改时间:2005-3-15 后续完善)

更新 6/30/03 DW

更新 10/16/99 DW

更新 1/21/99 DW

本规范说明的XML-RPC协议实现UserLand Frontier 5.1。

关于非技术性说明,请访问XML-RPC for Newbies。

文档提供了实现XML-RPC所需要的所有信息。

前言

XML-RPC是一种基于Internet的远程函数调用协议。

XML-RPC消息都是HTTP-POST请求。请求的主要部分的XML。服务器端执行后的返回结果同样也是XML格式。

函数调用的参数可以是scalars, numbers, strings, dates等等;也可以是混合型的记录和结构体。

Request请求样式

下面是一个XML-RPC请求的例子:

POST /RPC2 HTTP/1.0

User-Agent: Frontier/5.1.2 (WinNT)

Host: betty.userland.com

Content-Type: text/xml

Content-length: 181

<?xml version="1.0"?>

<methodCall>

   <methodName>examples.getStateName</methodName>

   <params>

      <param>

         <value><i4>41</i4></value>

         </param>

      </params>

   </methodCall>

关于请求头

第一行的URI格式不是特定的。可以为空,如果服务器只处理XML-RPC请求甚至可以只是简单的一个斜线。可是,如果服务器除了XML-RPC外还提供其他的HTTP请求,URI可以帮助我们把请求指向特定的XML-RPC服务。

User-Agent和Host项是必须的。

Content-Type的值必须是text/xml.

Content-Length必须指定,而且必须是正确的值。

有效的格式

XML-RPC具有和XML一样的有效格式,并且是一个<methodCall>结构。

<methodCall>必须包含一个值为字符型的<methodName>子元素,用来表明被调用的方法。这个字符必须符合以下规定:大小写字母、数字0-9、下划线、点、冒号和斜线。至于怎么解释这个字符串将有服务器端来决定。

例如,methodName可以是一个包含执行request请求的文件的名字,可以是数据表中列的名字,还可以是表示目录和文件结构的路径。

如果远程调用接受参数,<methodCall>就必须包含<params>子元素。<params>可以包含任意个<param>元素,每个<param>包含一个<value>子元素。

Scalar <value>s <value>

<value>值被嵌入类型标签中,支持的类型如下表:

Tag Type Example

<i4> or <int> four-byte signed integer -12

<boolean> 0 (false) or 1 (true) 1

<string> string hello world

<double> double-precision signed floating point number -12.214

<dateTime.iso8601> date/time 19980717T14:08:55

<base64> base64-encoded binary eW91IGNhbid0IHJlYWQgdGhpcyE=

如果没有指定类型,默认为字符串。

<struct>s

参数值可以是<struct>。

每个<struct>包含若干<member>,每个<member>包含一个<name>和一个<value>.

如果所示为包含两个值的<struct>

<struct>

   <member>

      <name>lowerBound</name>

      <value><i4>18</i4></value>

      </member>

   <member>

      <name>upperBound</name>

      <value><i4>139</i4></value>

      </member>

   </struct>

<struct>是可以递归使用的,任何<value>都里还可以<struct>或其他任何类型,包括后面将要说明的<array>。

<array>s

值可以个<array>

一个<array>简单的有一个<data>元素。<data>可以是任何合法类型。

下面是一个有4个值的array:

<array>

   <data>

      <value><i4>12</i4></value>

      <value><string>Egypt</string></value>

      <value><boolean>0</boolean></value>

      <value><i4>-31</i4></value>

      </data>

   </array>

<array> elements do not have names.

<array> 元素没有名字。

你可以混合使用上面列出的几种类型。

<arrays>可以递归使用,其值可以是<array>或其他类型,包括上面说明的<strut>。

Response应答样式

下面是一个 XML-RPC请求:

HTTP/1.1 200 OK

Connection: close

Content-Length: 158

Content-Type: text/xml

Date: Fri, 17 Jul 1998 19:55:08 GMT

Server: UserLand Frontier/5.1.2-WinNT

<?xml version="1.0"?>

<methodResponse>

   <params>

      <param>

         <value><string>South Dakota</string></value>

         </param>

      </params>

   </methodResponse>

Respnse应答格式

除非底层操作出现错,否则总是返回200 OK.

Content-Type是text/xml。必须设置Content-Length,并且必须是正确的值。

应到内容是一个简单的XML,可是是<methodResponse>包含一个<params>,<params>包含一个<param>,<param>包含一个<value>。

<methodResponse>可能含有一个<fault>标签。<fault>的值为<struct>类型,<struct>有两个元素,值为<int>的<faultCode>和值为<string>的<faultString>。

<methodResponse>不能既有<fault>又有<params>。

Fault example

HTTP/1.1 200 OK

Connection: close

Content-Length: 426

Content-Type: text/xml

Date: Fri, 17 Jul 1998 19:55:02 GMT

Server: UserLand Frontier/5.1.2-WinNT

<?xml version="1.0"?>

<methodResponse>

   <fault>

      <value>

         <struct>

            <member>

               <name>faultCode</name>

               <value><int>4</int></value>

               </member>

            <member>

               <name>faultString</name>

               <value><string>Too many parameters.</string></value>

               </member>

            </struct>

         </value>

      </fault>

   </methodResponse>

Strategies/Goals

Firewalls. The goal of this protocol is to lay a compatible foundation across different environments, no new power is provided beyond the capabilities of the CGI interface. Firewall software can watch for POSTs whose Content-Type is text/xml.

Discoverability. We wanted a clean, extensible format that's very simple. It should be possible for an HTML coder to be able to look at a file containing an XML-RPC procedure call, understand what it's doing, and be able to modify it and have it work on the first or second try.

Easy to implement. We also wanted it to be an easy to implement protocol that could quickly be adapted to run in other environments or on other operating systems.

Updated 1/21/99 DW

The following questions came up on the UserLand discussion group as XML-RPC was being implemented in Python.

The Response Format section says "The body of the response is a single XML structure, a <methodResponse>, which can contain a single <params>..." This is confusing. Can we leave out the <params>?

No you cannot leave it out if the procedure executed successfully. There are only two options, either a response contains a <params> structure or it contains a <fault> structure. That's why we used the word "can" in that sentence.

Is "boolean" a distinct data type, or can boolean values be interchanged with integers (e.g. zero=false, non-zero=true)?

Yes, boolean is a distinct data type. Some languages/environments allow for an easy coercion from zero to false and one to true, but if you mean true, send a boolean type with the value true, so your intent can't possibly be misunderstood.

What is the legal syntax (and range) for integers? How to deal with leading zeros? Is a leading plus sign allowed? How to deal with whitespace?

An integer is a 32-bit signed number. You can include a plus or minus at the beginning of a string of numeric characters. Leading zeros are collapsed. Whitespace is not permitted. Just numeric characters preceeded by a plus or minus.

What is the legal syntax (and range) for floating point values (doubles)? How is the exponent represented? How to deal with whitespace? Can infinity and "not a number" be represented?

There is no representation for infinity or negative infinity or "not a number". At this time, only decimal point notation is allowed, a plus or a minus, followed by any number of numeric characters, followed by a period and any number of numeric characters. Whitespace is not allowed. The range of allowable values is implementation-dependent, is not specified.

What characters are allowed in strings? Non-printable characters? Null characters? Can a "string" be used to hold an arbitrary chunk of binary data?

Any characters are allowed in a string except < and &, which are encoded as < and &. A string can be used to encode binary data.

Does the "struct" element keep the order of keys. Or in other words, is the struct "foo=1, bar=2" equivalent to "bar=2, foo=1" or not?

The struct element does not preserve the order of the keys. The two structs are equivalent.

Can the <fault> struct contain other members than <faultCode> and <faultString>? Is there a global list of faultCodes? (so they can be mapped to distinct exceptions for languages like Python and Java)?

A <fault> struct may not contain members other than those specified. This is true for all other structures. We believe the specification is flexible enough so that all reasonable data-transfer needs can be accomodated within the specified structures. If you believe strongly that this is not true, please post a message on the discussion group.

There is no global list of fault codes. It is up to the server implementer, or higher-level standards to specify fault codes.

What timezone should be assumed for the dateTime.iso8601 type? UTC? localtime?

Don't assume a timezone. It should be specified by the server in its documentation what assumptions it makes about timezones.

Additions

<base64> type. 1/21/99 DW.

Updated 6/30/03 DW

Removed "ASCII" from definition of string.

Changed copyright dates, below, to 1999-2003 from 1998-99.

Copyright and disclaimer

? Copyright 1998-2003 UserLand Software. All Rights Reserved.

This document and translations of it may be copied and furnished to others, and derivative works that comment on or otherwise explain it or assist in its implementation may be prepared, copied, published and distributed, in whole or in part, without restriction of any kind, provided that the above copyright notice and these paragraphs are included on all such copies and derivative works.

This document may not be modified in any way, such as by removing the copyright notice or references to UserLand or other organizations. Further, while these copyright restrictions apply to the written XML-RPC specification, no claim of ownership is made by UserLand to the protocol it describes. Any party may, for commercial or non-commercial purposes, implement this protocol without royalty or license fee to UserLand. The limited permissions granted herein are perpetual and will not be revoked by UserLand or its successors or assigns.

This document and the information contained herein is provided on an "AS IS" basis and USERLAND DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.

 

 

 

添加评论

9:09  |  固定链接 | 引用通告 (0) | 记录它 | Open Source

 

 

固定链接  关闭

 

http://spaces.msn.com/lzhuacuo/blog/cns!18730E989D068035!506.entry

 

 

 

 

 

 

 

XML-RPC

 

XML-RPC

 

 

 

\

http://www.xmlrpc.com/

Java Technology and Web Services

http://java.sun.com/webservices/index.jsp

Web services are Web-based enterprise applications that use open, XML-based standards and transport protocols to exchange data with calling clients. Java 2 Platform, Enterprise Edition (J2EE) provides the APIs and tools you need to create and deploy interoperable Web services and clients.

Java Technology and Web Services is organized into these subcategories:

Java Web Services Developer Pack (Java WSDP)

Java API for XML-Based RPC (JAX-RPC)

Java API for XML Registries (JAXR)

Java API for XML Processing (JAXP)

Java Architecture for XML Binding (JAXB)

SOAP with Attachments API for Java (SAAJ)

XML and Web Services Security

Java API for XML-Based RPC >

http://java.sun.com/xml/downloads/jaxrpc.html#jaxrpcspec10

Java API for XML-Based RPC (JAX-RPC) Specification 2.0

 

 

 

添加评论

8:35  |  固定链接 | 引用通告 (0) | 记录它 | Open Source

 

RSS 会否冲击网站流量(转帖)

(转自:http://in.comengo.net/archives/rss-usage-and-pv/)

RSS无庸置疑已经成为一个潮流,下面这篇blog讨论这个问题比较热烈,于是,保存在这里欣赏与思考,等有点心得也来评论两句。

×××××××××××××××××××××××××××××××××××××××××××××××××××××××××

RSS 会否冲击网站流量

RSS的流行对于国内的门户都是不小的冲击,因为大家都在考虑的一个问题是RSS是否会冲击PV?但毕竟RSS的普及还是不可逆转的趋势,所以新浪与搜狐还是陆续推出自己的RSS服务。

新浪与搜狐都没有公开表示过推出RSS服务后对网站流量的影响到底是正面的还是负面的(估计RSS用户的比例还太少,基本不构成什么影响),纽约时报倒是曾经公布RSS带来的流量比一年前大幅增长三倍多。Nielsen前两天发表的一份统计数据似乎也可以看出RSS对网络媒体的一些影响(via here)。

根据Nielsen的统计,RSS的订阅用户访问网站的次数是非RSS用户访问的次数的三到四倍,这似乎可以说明RSS订阅用户是网站最忠诚的一批用户,网站推出RSS服务有助于拉拢这些忠诚用户,而且RSS这种有效的信息推送与提醒方式可以更进一步促进他们访问网站的次数。尽管由于缺乏用户使用RSS前后的浏览行为变化的统计,无法确切了解RSS的作用,但RSS的应用至少是留住用户并提升忠诚度的一种好方式。

RSS用户不仅仅访问网站的次数增加,而且访问的网站数量也比非RSS用户多两倍,可见RSS的确是一种更加方便的获取信息的方式,可以提高我们的信息获取与处理的能力。(不过同样由于缺乏历史行为的比较,我们无法知道是否RSS用户在未使用RSS之前也浏览更多的网站)

Nielsen调查中另一个有趣的数据是,在RSS用户中有83%的用户并不知道自己在使用RSS服务,调查认为原因可能在于用户使用了My Yahoo这种不表现为RSS阅读器的工具。RSS这个橙红色的图标的确让很多普通用户迷惑,但如果能够有服务商像My Yahoo一样忽略RSS这种令人困惑的技术词汇,而将其包装成为用户更容易理解的个性新闻的方式,用RSS自动发现的技术让一个完全不理解RSS的用户都可以只通过输入想订阅的网站和Blog的网址等最简单的方式就可以方便地使用,这是否会极大地促进国内RSS用户的发展呢?毕竟用户不需要知道什么是RSS,他们要知道的只是你如何从他们的角度考虑为他们提供服务。

« 从2.0开始起步 - 简评新版Feedsky与UUzoneweb2.0与Web1.0的区别是什么? »

相关文章:Around the Web, RSS, portal;

Trackback:Trackback地址

本文写于 Wednesday, September 21st, 2005 21:51 您可以查看同类别Around the Web的其他文章,或者阅读与RSS, portal这些方面相关的其他文章。 您可以订阅本文的评论. 留言, 或trackback本文.

 

“RSS 会否冲击网站流量”有 15 条留言;

IUSR

September 21st, 2005 22:57 1“根据Nielsen的统计,RSS的订阅用户访问网站的次数是非RSS用户访问的次数的三到四倍,这似乎可以说明RSS订阅用户是网站最忠诚的一批用户”,这个我觉得不够准确,毕竟很多人用在线的或者桌面的聚合器订阅RSS时,大部分聚合器一般都去自动访问RSS,好像不好根据这个考证哪种用户的访问量更大一些。

Tangos

September 22nd, 2005 09:02 2统计的数据似乎考虑的是对网站的访问而非对网站RSS的访问,所以我觉得你考虑的因素应该不构成影响。

小朱子

September 22nd, 2005 13:49 3国外的经验并不代表中国国情,我觉得过分强调RSS反而会失败。中国人缺的不是效率,而是钞票。如果有样东西能解决后者,不用整天写文章,马上流行。

IUSR

September 22nd, 2005 13:54 4哦~也是:P

很好奇这个统计是怎么完成的呢?调查问卷还是自动完成?如果用客户端聚合器的话该怎么统计?

bslgw

September 22nd, 2005 16:06 5RSS是阅读习惯的改变。这片文章最关键的部分要看到

“在RSS用户中有83%的用户并不知道自己在使用RSS服务,调查认为原因可能在于用户使用了My Yahoo这种不表现为RSS阅读器的工具。”这才是真正的关键不要就单纯技术层面去讨论RSS

因为RSS没有什么技术含量

欢迎交流:msn:bslgw@0412.net

GTALK:bslgwpro@gmail.com

ocde

September 22nd, 2005 19:18 6我的切身体会告诉我是这样的,Rss让我更关注某网站,比如这里。首先一个人订阅了某网站,本身就证明他认为这个网站有价值。RSS能定时的通知我有新内容,他是个事件提醒,让我在本身有兴趣的同时更频繁的关注。当用RSS时,因为不能commment,浏览的不好看,我还是喜欢点击到网站上。但若我订阅的 RSS后续没有好东西,则我的关注将可能降低。

所以我认为:

1,RSS比PV对一个网站更有价值。RSS甚至就想是以前的用户注册样的价值,RSS的订阅量将在一定程度上反映一个网站的价值。

2,RSS也是读者的监督器,来督促网站做的更好的内容而不是形式。

黄靖昀

September 22nd, 2005 19:25 7PV的历史使命是与广告息息相关的,cookie在客户端对我们的阅读行为进行总结,再把相关数据返回到服务器端。这样一来,客户满意了,毕竟在衡量指标上,其随意性远较低于点击率和点进率,更好地反映了用户沾性。曾经在几年前看过一篇文章提到:PV是对传统广告到达率的一种革命。

在我看来,RSS的出现,一方面使得我的 JCM(及时知识管理)变得更加有条理了,我可以挑我自己喜欢吃的菜慢慢品尝,不必一定要看别人喜欢什么。久而久之,看了那么多订阅历史,我不免陶醉起来,呵呵,我也几个月的尝鲜了这么久。另一方面我也变得对下一次RSS推送的东西有所期待,那种感觉不是成就,恰似是初恋的男子,总想着自己女友那高挑的眉毛后面是否那样最神情的观望。他会失望的,如果下次你不冷不热,但他会给你机会,愿意留出时间让你忏悔。把所有的思绪猛然间断掉,难度几乎不可能。这就是RSS 的希望,只要不要太过分,在一见钟情上作好文章,不时哄哄读者。而web浏览就不然了,我看到那些大大的充满快感的富媒体,是的,我会喊的,但是喊出的是永远不来了。门户店大欺客,我拿你没招,但小店铺你也要开黑店,你就会永远见不着我了。

不管是从培养用户忠诚度还是从浏览行为上,PV都是没有前途的快要没落的概念。

1.推送给网站一大堆的数据,单是处理就不好办,好看而不实用。你不能从中了解看你的人是谁,IP记录是不够的。而rss环境下的统计,那是一个个泡你的人啊,认同你欣赏你(个人博客而言),为了更便利地了解咨讯(对新闻站点),为了更好地完成这一任务,他们才选择了RSS,也就是说他们是自愿的。

2。商业化方面,rss方式显然更有吸引力,从长期来说,你的读者杂质比较少,很吻合商家针对特定细分市场进行广告营销的需要,至于怎么套入广告,这个先不说。而PV思维造成了大量富余信息的堆砌,而实际真正需要的信息又无从寻觅。这或许就是搜索引擎能够起家的缘故吧

3。rss的交互远比单纯的 web阅读后提供了论坛啊,留言版更加人性化,那是一种真正的人性化交流。透过文章你灰认识一个人,他真实,没有被包装。这与网易商业报道的主编直评(http://biz.163.com/special/p/00021JLK/postzb_more.html)是不一样的,谁规定他的水平比我们高啊,这种故作的平民之舞还是少一点比较好。不知不觉中,商业影响了博客,也就影响了rss的那一端的读者。只是个中的微妙会是一门大学问

4。PV还会继续存续下去,很简单,我们还需要在读者输入你的网址,想看点什么的时候给他一个交代。读者的习惯也是一个问题,这问题因为门户的存在而加剧。商家的网络投放得看他们,他们主导了所谓的先发标准

letsgocn

September 22nd, 2005 19:56 8傻,也不想想中国菜鸟这么多,有几个会用RSS订阅啊?

keso

September 23rd, 2005 21:08 9昨日新闻 - RSS 会否冲击网站流量

根据Nielsen的统计,RSS的订阅用户访问网站的次数是非RSS用户访问的次数的三到四倍,这似乎可以说明RSS订阅用户是网站最忠诚的一批用户,网站推出RSS服务有助于拉拢这些忠诚用户,而且RSS…

hhm

September 24th, 2005 03:10 10学习学习

bolaa

September 25th, 2005 17:27 11呵呵,您的文章越来越有见地了!!我常在思考精彩的博客作品如何能够从海量信息中脱颖而出,被更多的人所知晓,能听到发自内心的喝彩声,而不会再被时间蒙上灰尘。并且在这个过程中能拥有越来越多志同道合的朋友,营造一个良好的沟通和交流的氛围。前几天我发现了一个不错的博客作品推荐和交流的好地方,博啦!BLOG互动平台www.bolaa.com,推荐您也去瞧瞧,让你的站点和作品人气更旺!

oii

September 29th, 2005 21:57 12seen

签名:My Blog

http://xiangtool.nease.net

Rss加油站 » 谁会是RSS在线阅读市场的赢家

October 9th, 2005 11:40 13[…] RSS显然是个过于技术化而难于推广的术语,已经有很多次的RSS调查数据(1、2)显示有不少实际在使用RSS进行阅读的用户并不知道RSS为何物,估计很大比例的这类用户来自于使用My Yahoo这种并非将自己定位为RSS阅读器的用户。多份RSS调查报告都显示公众对于RSS的认知程度还很低,如果他们连什么是RSS都不知道,怎么还会产生使用RSS阅读器的需求呢,通过重新定位和包装RSS阅读工具,让普通公众根本不需要去了解什么是RSS就可以享受RSS阅读的便利和好处,无疑会是吸引大量不了解RSS的普通用户的竞争关键。其实在这个领域,传统的门户网站似乎占据着竞争优势,比如Yahoo和MSN,国内的门户呢? […]

t2

November 9th, 2005 13:03 14kankan

17Vogue | 致力于珠宝品牌网络营销研究 » Blog Archive » 谁会是RSS在线阅读市场的赢家

December 6th, 2005 15:57 15[…]   RSS显然是个过于技术化而难于推广的术语,已经有很多次的RSS调查数据(1、2)显示有不少实际在使用RSS进行阅读的用户并不知道RSS为何物,估计很大比例的这类用户来自于使用My Yahoo这种并非将自己定位为RSS阅读器的用户。多份RSS调查报告都显示公众对于RSS的认知程度还很低,如果他们连什么是RSS都不知道,怎么还会产生使用RSS阅读器的需求呢,通过重新定位和包装RSS阅读工具,让普通公众根本不需要去了解什么是RSS就可以享受RSS阅读的便利和好处,无疑会是吸引大量不了解RSS的普通用户的竞争关键。其实在这个领域,传统的门户网站似乎占据着竞争优势,比如Yahoo和MSN,国内的门户呢? […]

学习日记的新域名已经生效了www.123go.org.cn

  现在可以用这个域名访问学习日记了。123go,意为1-,2-,3-,走!取意要勇于行动,在行动中学习,行动中互助等。但是没有想好给学习日记改一个什么新名字,考虑中。。。

  org,意为非赢利(但是要运行它,还得考虑怎么找钱)

  cn,不用说了。

  123go这个域名是个热门,所有的域名后缀中只剩下了两种。我放弃learndiary.com使用它不知道值不值得,为了过渡,learndiary.com还是要使用一段时间的。

  看到这篇日记帮我想想,我们改一个什么样的新名字恰当?