<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Voland.com.cn &#187; 人生百味</title>
	<atom:link href="http://www.voland.com.cn/category/life/feed" rel="self" type="application/rss+xml" />
	<link>http://www.voland.com.cn</link>
	<description>人生百年,诸事记之</description>
	<lastBuildDate>Thu, 02 Feb 2012 23:09:02 +0000</lastBuildDate>
	<language>zh</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>-bash: /bin/rm: Argument list too long解决办法</title>
		<link>http://www.voland.com.cn/dd</link>
		<comments>http://www.voland.com.cn/dd#comments</comments>
		<pubDate>Wed, 03 Aug 2011 01:54:36 +0000</pubDate>
		<dc:creator>Nortan</dc:creator>
				<category><![CDATA[人生百味]]></category>
		<category><![CDATA[常用]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[linux]]></category>

		<guid isPermaLink="false">http://www.voland.com.cn/?p=676</guid>
		<description><![CDATA[ls &#124; xargs -n 100 rm -fr ls 就解决了，这句解释为：输出所有的文件名(用空格分割) xargs就是将ls的输出，每100个为一组(以空格为分隔符)，作为rm -rf的参数也就是说将所有文件名100个为一组，由rm -rf删除，这样就不会超过命令行的长度了.]]></description>
			<content:encoded><![CDATA[<per lang="sh">ls | xargs -n 100 rm -fr ls</pre>
<p>就解决了，这句解释为：输出所有的文件名(用空格分割) xargs就是将ls的输出，每100个为一组(以空格为分隔符)，作为rm -rf的参数也就是说将所有文件名100个为一组，由rm -rf删除，这样就不会超过命令行的长度了.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.voland.com.cn/dd/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>java操作Windows进程</title>
		<link>http://www.voland.com.cn/java-operating-windows-processes</link>
		<comments>http://www.voland.com.cn/java-operating-windows-processes#comments</comments>
		<pubDate>Tue, 19 Jul 2011 04:04:13 +0000</pubDate>
		<dc:creator>Nortan</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[人生百味]]></category>
		<category><![CDATA[Windows进程]]></category>

		<guid isPermaLink="false">http://www.voland.com.cn/?p=642</guid>
		<description><![CDATA[本文章介绍了使用java操作windows进程,并给出了例子类,这个类完了了列出所有的进程,获取PID,获取进程占用内存,杀死指定PID的进程,杀死指定进程名的进程等等]]></description>
			<content:encoded><![CDATA[<p>java对平台的依赖性不太大,所以对系统的一些处理一直不太人性化,比如系统托盘到JDK6才支持,而对进程的处理,如Windows进程,虽然可以很好的操作,但用到这个功能并会的人可能不太多.这里写了一个用java对windows进程操作的例子.</p>
<p>这个类完了了列出所有的进程,杀死指定PID的进程,杀死指定进程名的进程等等,当然有getTaskList这个方法怎么取PID我相信你懂了,只要真正看懂这个类,估计一般需要都可以满足了.</p>

<div class="wp_syntax"><div class="code"><pre class="java" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">java.io.BufferedReader</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">java.io.IOException</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">java.io.InputStreamReader</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">java.util.Collection</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">java.util.Hashtable</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">class</span> JavaWindowsTaskManager <span style="color: #009900;">&#123;</span>
&nbsp;
	<span style="color: #008000; font-style: italic; font-weight: bold;">/**
	 * 杀死一个进程
	 * @param task 进程号
	 *            
	 */</span>
	<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">static</span> <span style="color: #000066; font-weight: bold;">void</span> killTask<span style="color: #009900;">&#40;</span><span style="color: #003399;">Integer</span> pid<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #000000; font-weight: bold;">try</span> <span style="color: #009900;">&#123;</span>
			<span style="color: #666666; font-style: italic;">// 取得任务列表</span>
			Hashtable<span style="color: #339933;">&lt;</span>Integer, WindowsTask<span style="color: #339933;">&gt;</span> tasks <span style="color: #339933;">=</span> getTaskList<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			WindowsTask task <span style="color: #339933;">=</span> tasks.<span style="color: #006633;">get</span><span style="color: #009900;">&#40;</span>pid<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			<span style="color: #000000; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>task <span style="color: #339933;">!=</span> <span style="color: #000066; font-weight: bold;">null</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
				<span style="color: #003399;">Runtime</span>.<span style="color: #006633;">getRuntime</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>.<span style="color: #006633;">exec</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;tskill &quot;</span> <span style="color: #339933;">+</span> pid<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			<span style="color: #009900;">&#125;</span>			
		<span style="color: #009900;">&#125;</span> <span style="color: #000000; font-weight: bold;">catch</span> <span style="color: #009900;">&#40;</span><span style="color: #003399;">Exception</span> e<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
			e.<span style="color: #006633;">printStackTrace</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
	<span style="color: #008000; font-style: italic; font-weight: bold;">/**
	 * 杀死指定名称的所有进程
	 * @param taskName
	 */</span>
	<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">static</span> <span style="color: #000066; font-weight: bold;">void</span> killTask<span style="color: #009900;">&#40;</span><span style="color: #003399;">String</span> taskName<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
		<span style="color: #000000; font-weight: bold;">try</span><span style="color: #009900;">&#123;</span>
			Hashtable<span style="color: #339933;">&lt;</span>Integer, WindowsTask<span style="color: #339933;">&gt;</span> tasks <span style="color: #339933;">=</span> getTaskList<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			Collection<span style="color: #339933;">&lt;</span>WindowsTask<span style="color: #339933;">&gt;</span> allTasks <span style="color: #339933;">=</span> tasks.<span style="color: #006633;">values</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			<span style="color: #000000; font-weight: bold;">for</span><span style="color: #009900;">&#40;</span>WindowsTask task<span style="color: #339933;">:</span> allTasks<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
				<span style="color: #000000; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>task.<span style="color: #006633;">getName</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>.<span style="color: #006633;">equals</span><span style="color: #009900;">&#40;</span>taskName<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
					killTask<span style="color: #009900;">&#40;</span>task.<span style="color: #006633;">getPid</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				<span style="color: #009900;">&#125;</span>
			<span style="color: #009900;">&#125;</span>
&nbsp;
		<span style="color: #009900;">&#125;</span><span style="color: #000000; font-weight: bold;">catch</span> <span style="color: #009900;">&#40;</span><span style="color: #003399;">Exception</span> e<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
			e.<span style="color: #006633;">printStackTrace</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
	<span style="color: #008000; font-style: italic; font-weight: bold;">/**
	 * 返回当前机器的所有进程
	 * 
	 * @return
	 */</span>
	<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">static</span> Hashtable<span style="color: #339933;">&lt;</span>Integer, WindowsTask<span style="color: #339933;">&gt;</span> getTaskList<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		Hashtable<span style="color: #339933;">&lt;</span>Integer, WindowsTask<span style="color: #339933;">&gt;</span> tasks <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> Hashtable<span style="color: #339933;">&lt;</span>Integer, WindowsTask<span style="color: #339933;">&gt;</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #000000; font-weight: bold;">try</span> <span style="color: #009900;">&#123;</span>
			<span style="color: #003399;">Process</span> process <span style="color: #339933;">=</span> <span style="color: #003399;">Runtime</span>.<span style="color: #006633;">getRuntime</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>.<span style="color: #006633;">exec</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;taskList&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			<span style="color: #003399;">InputStreamReader</span> in <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">InputStreamReader</span><span style="color: #009900;">&#40;</span>process
					.<span style="color: #006633;">getInputStream</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>, <span style="color: #0000ff;">&quot;GBK&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			<span style="color: #003399;">BufferedReader</span> reader <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">BufferedReader</span><span style="color: #009900;">&#40;</span>in<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			<span style="color: #003399;">String</span> taskInfo <span style="color: #339933;">=</span> <span style="color: #000066; font-weight: bold;">null</span><span style="color: #339933;">;</span>
			WindowsTask task <span style="color: #339933;">=</span> <span style="color: #000066; font-weight: bold;">null</span><span style="color: #339933;">;</span>
			<span style="color: #003399;">String</span> tmp <span style="color: #339933;">=</span> <span style="color: #000066; font-weight: bold;">null</span><span style="color: #339933;">;</span>
			<span style="color: #000000; font-weight: bold;">while</span> <span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span>taskInfo <span style="color: #339933;">=</span> reader.<span style="color: #006633;">readLine</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">!=</span> <span style="color: #000066; font-weight: bold;">null</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
				<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>taskInfo.<span style="color: #006633;">trim</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>.<span style="color: #006633;">length</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">&gt;</span> <span style="color: #cc66cc;">0</span>
						<span style="color: #339933;">&amp;&amp;</span> <span style="color: #009900;">&#40;</span>taskInfo.<span style="color: #006633;">contains</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Services&quot;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">||</span> taskInfo
								.<span style="color: #006633;">contains</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Console&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
					<span style="color: #003399;">System</span>.<span style="color: #006633;">out</span>.<span style="color: #006633;">println</span><span style="color: #009900;">&#40;</span>taskInfo<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
					task <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> WindowsTask<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
					tmp <span style="color: #339933;">=</span> taskInfo.<span style="color: #006633;">substring</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">0</span>, <span style="color: #cc66cc;">26</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
					task.<span style="color: #006633;">setName</span><span style="color: #009900;">&#40;</span>tmp.<span style="color: #006633;">trim</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
					tmp <span style="color: #339933;">=</span> taskInfo.<span style="color: #006633;">substring</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">26</span>, <span style="color: #cc66cc;">35</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
					task.<span style="color: #006633;">setPid</span><span style="color: #009900;">&#40;</span><span style="color: #003399;">Integer</span>.<span style="color: #006633;">valueOf</span><span style="color: #009900;">&#40;</span>tmp.<span style="color: #006633;">trim</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
					tmp <span style="color: #339933;">=</span> taskInfo.<span style="color: #006633;">substring</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">35</span>, <span style="color: #cc66cc;">52</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
					task.<span style="color: #006633;">setSessionName</span><span style="color: #009900;">&#40;</span>tmp.<span style="color: #006633;">trim</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
					tmp <span style="color: #339933;">=</span> taskInfo.<span style="color: #006633;">substring</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">52</span>, <span style="color: #cc66cc;">64</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
					task.<span style="color: #006633;">setSessionId</span><span style="color: #009900;">&#40;</span><span style="color: #003399;">Integer</span>.<span style="color: #006633;">valueOf</span><span style="color: #009900;">&#40;</span>tmp.<span style="color: #006633;">trim</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
					tmp <span style="color: #339933;">=</span> taskInfo.<span style="color: #006633;">substring</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">64</span>, taskInfo.<span style="color: #006633;">lastIndexOf</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;K&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
					tmp <span style="color: #339933;">=</span> tmp.<span style="color: #006633;">replaceAll</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;,&quot;</span>, <span style="color: #0000ff;">&quot;&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
					task.<span style="color: #006633;">setMem</span><span style="color: #009900;">&#40;</span><span style="color: #003399;">Long</span>.<span style="color: #006633;">valueOf</span><span style="color: #009900;">&#40;</span>tmp.<span style="color: #006633;">trim</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
					tasks.<span style="color: #006633;">put</span><span style="color: #009900;">&#40;</span>task.<span style="color: #006633;">getPid</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>, task<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				<span style="color: #009900;">&#125;</span>
			<span style="color: #009900;">&#125;</span>
		<span style="color: #009900;">&#125;</span> <span style="color: #000000; font-weight: bold;">catch</span> <span style="color: #009900;">&#40;</span><span style="color: #003399;">Exception</span> e<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
			e.<span style="color: #006633;">printStackTrace</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span>
		<span style="color: #000000; font-weight: bold;">return</span> tasks<span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
	<span style="color: #008000; font-style: italic; font-weight: bold;">/**
	 * 启动一个进程,传入的值可以是服务名,也可以是可执行文件的全路径名
	 * 
	 * @param task
	 */</span>
	<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">static</span> <span style="color: #000066; font-weight: bold;">void</span> startTask<span style="color: #009900;">&#40;</span><span style="color: #003399;">String</span> task<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #000000; font-weight: bold;">try</span> <span style="color: #009900;">&#123;</span>
			<span style="color: #003399;">Runtime</span>.<span style="color: #006633;">getRuntime</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>.<span style="color: #006633;">exec</span><span style="color: #009900;">&#40;</span>task<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span> <span style="color: #000000; font-weight: bold;">catch</span> <span style="color: #009900;">&#40;</span><span style="color: #003399;">IOException</span> e<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
			e.<span style="color: #006633;">printStackTrace</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">class</span> WindowsTask <span style="color: #009900;">&#123;</span>
	<span style="color: #666666; font-style: italic;">// 映像名称</span>
	<span style="color: #000000; font-weight: bold;">private</span> <span style="color: #003399;">String</span> name<span style="color: #339933;">;</span>
	<span style="color: #666666; font-style: italic;">// PID</span>
	<span style="color: #000000; font-weight: bold;">private</span> <span style="color: #003399;">Integer</span> pid<span style="color: #339933;">;</span>
	<span style="color: #666666; font-style: italic;">// 会话名</span>
	<span style="color: #000000; font-weight: bold;">private</span> <span style="color: #003399;">String</span> sessionName<span style="color: #339933;">;</span>
	<span style="color: #666666; font-style: italic;">// 会话编号</span>
	<span style="color: #000000; font-weight: bold;">private</span> <span style="color: #003399;">Integer</span> sessionId<span style="color: #339933;">;</span>
	<span style="color: #666666; font-style: italic;">// 内存使用</span>
	<span style="color: #000000; font-weight: bold;">private</span> <span style="color: #000066; font-weight: bold;">long</span> mem<span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #003399;">String</span> getName<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #000000; font-weight: bold;">return</span> name<span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000066; font-weight: bold;">void</span> setName<span style="color: #009900;">&#40;</span><span style="color: #003399;">String</span> name<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #000000; font-weight: bold;">this</span>.<span style="color: #006633;">name</span> <span style="color: #339933;">=</span> name<span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #003399;">Integer</span> getPid<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #000000; font-weight: bold;">return</span> pid<span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000066; font-weight: bold;">void</span> setPid<span style="color: #009900;">&#40;</span><span style="color: #003399;">Integer</span> pid<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #000000; font-weight: bold;">this</span>.<span style="color: #006633;">pid</span> <span style="color: #339933;">=</span> pid<span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #003399;">String</span> getSessionName<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #000000; font-weight: bold;">return</span> sessionName<span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000066; font-weight: bold;">void</span> setSessionName<span style="color: #009900;">&#40;</span><span style="color: #003399;">String</span> sessionName<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #000000; font-weight: bold;">this</span>.<span style="color: #006633;">sessionName</span> <span style="color: #339933;">=</span> sessionName<span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #003399;">Integer</span> getSessionId<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #000000; font-weight: bold;">return</span> sessionId<span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000066; font-weight: bold;">void</span> setSessionId<span style="color: #009900;">&#40;</span><span style="color: #003399;">Integer</span> sessionId<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #000000; font-weight: bold;">this</span>.<span style="color: #006633;">sessionId</span> <span style="color: #339933;">=</span> sessionId<span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000066; font-weight: bold;">long</span> getMem<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #000000; font-weight: bold;">return</span> mem<span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000066; font-weight: bold;">void</span> setMem<span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">long</span> mem<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #000000; font-weight: bold;">this</span>.<span style="color: #006633;">mem</span> <span style="color: #339933;">=</span> mem<span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://www.voland.com.cn/java-operating-windows-processes/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PageRank又下降了</title>
		<link>http://www.voland.com.cn/pagerank-has-dropped</link>
		<comments>http://www.voland.com.cn/pagerank-has-dropped#comments</comments>
		<pubDate>Fri, 01 Jul 2011 01:44:09 +0000</pubDate>
		<dc:creator>Nortan</dc:creator>
				<category><![CDATA[人生百味]]></category>

		<guid isPermaLink="false">http://www.voland.com.cn/?p=640</guid>
		<description><![CDATA[最近没有什么文章更新,又加了两个PageRank为0的链接.慢慢造成了我的网站PageRank由5降到4,现在直接就下降了1了,呵呵,又得全重新来过!不过无所谓,本来就不太在意这些个东西.]]></description>
			<content:encoded><![CDATA[<p>最近没有什么文章更新,又加了两个PageRank为0的链接.慢慢造成了我的网站PageRank由5降到4,现在直接就下降了1了,呵呵,又得全重新来过!不过无所谓,本来就不太在意这些个东西.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.voland.com.cn/pagerank-has-dropped/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>snapnames很给力,域名抢注成功</title>
		<link>http://www.voland.com.cn/snapnames-is-to-force-the-domain-name-registered-by-the-success</link>
		<comments>http://www.voland.com.cn/snapnames-is-to-force-the-domain-name-registered-by-the-success#comments</comments>
		<pubDate>Thu, 05 May 2011 02:10:55 +0000</pubDate>
		<dc:creator>Nortan</dc:creator>
				<category><![CDATA[一起分享]]></category>
		<category><![CDATA[人生百味]]></category>
		<category><![CDATA[Godaddy]]></category>
		<category><![CDATA[snapnames]]></category>
		<category><![CDATA[域名抢注]]></category>

		<guid isPermaLink="false">http://www.voland.com.cn/?p=617</guid>
		<description><![CDATA[前几天看上了一个域名,5.4号过期,于是动用Godaddy进行抢注,20.99美元就这样进了别人的腰包!然后我又跑到snapnames查看,发现本域名在snapnames预定最低需要$69!,别人不是说只需要59$吗?难道已经有人预定了?本人对域名抢注不熟悉,又怕别人抢走了*******.com这个域名,于是又花了70美元在snapnames预定. 今早7:03分,一短信发来,迷糊中一看,短信的意思大概是我的信用卡在境外消费$70美元.我心中一喜,域名到手了!同时也有不爽,近$100就为了一个域名而消失了,钱与自己想要的东西在某些时候总是冲突,心情也随之像波浪一样,高低起伏. 想要就得到它吧,它会给你好运!我一直是这样想的,所以在这个域名也确实花了不少心思,从域名筛选到预定!!怪不得老婆说比给自己的娃取名还上心.娃就要出生了,希望好的域名也能给老婆及娃带来好运与平安. 刚才看了邮箱,snapnames发过来的贺信,内容如下: Hello **** Congratulations on your successful transaction. We will be processing your payment shortly for *******.com. You can expect an update within 24 hours. Thank you, SnapNames 还得要等上24小时才能拥有它!总结这次抢注,SnapNames果然很给力,当然,也可能是钱给力:)呵呵,反正Godaddy是没有抢到,$70绝胜$20.99,结果就是这样!]]></description>
			<content:encoded><![CDATA[<p>前几天看上了一个域名,5.4号过期,于是动用Godaddy进行抢注,20.99美元就这样进了别人的腰包!然后我又跑到snapnames查看,发现本域名在snapnames预定最低需要$69!,别人不是说只需要59$吗?难道已经有人预定了?本人对域名抢注不熟悉,又怕别人抢走了*******.com这个域名,于是又花了70美元在snapnames预定.</p>
<p>今早7:03分,一短信发来,迷糊中一看,短信的意思大概是我的信用卡在境外消费$70美元.我心中一喜,域名到手了!同时也有不爽,近$100就为了一个域名而消失了,钱与自己想要的东西在某些时候总是冲突,心情也随之像波浪一样,高低起伏.</p>
<p>想要就得到它吧,它会给你好运!我一直是这样想的,所以在这个域名也确实花了不少心思,从域名筛选到预定!!怪不得老婆说比给自己的娃取名还上心.娃就要出生了,希望好的域名也能给老婆及娃带来好运与平安.</p>
<p>刚才看了邮箱,snapnames发过来的贺信,内容如下:<br />
Hello ****<br />
Congratulations on your successful transaction.<br />
We will be processing your payment shortly for *******.com. You can expect an update within 24 hours.<br />
Thank you,<br />
SnapNames<br />
还得要等上24小时才能拥有它!总结这次抢注,SnapNames果然很给力,当然,也可能是钱给力:)呵呵,反正Godaddy是没有抢到,$70绝胜$20.99,结果就是这样!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.voland.com.cn/snapnames-is-to-force-the-domain-name-registered-by-the-success/feed</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>用java程序向wordpress发布文章</title>
		<link>http://www.voland.com.cn/java-program-to-wordpress-with-articles-published</link>
		<comments>http://www.voland.com.cn/java-program-to-wordpress-with-articles-published#comments</comments>
		<pubDate>Thu, 13 May 2010 01:42:52 +0000</pubDate>
		<dc:creator>Nortan</dc:creator>
				<category><![CDATA[人生百味]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[wordpress]]></category>
		<category><![CDATA[XML-RPC]]></category>

		<guid isPermaLink="false">http://www.voland.com.cn/?p=486</guid>
		<description><![CDATA[java向wordpress发布文章也成？当然成！不仅能发布文章，读写都不成问题，还很方便，这些便利得益于XML-RPC协议。WordPress提供了XML-RPC API使得第三方的可以与之通信来发布和修改博客。我们也可以使用这个接口做一些工作，例如：在网站首页显示最新的博客、在博客之外的页面上发表博客文章、把博客与其他内容管理系统结合等。 一、开启XML-RPC支持 WordPress的XML-RPC协议默认是未开启的，需要到管理后台的“设置&#8211;>撰写”里的“远程发布”给XML-RPC打上勾。其说明文字为：启用 WordPress，Movable Type，MetaWeblog和Blogger 的 XML-RPC发布协议。 二、API接口选择 WordPress提供了对Blogger API、metaWeblog API、Movable Type API以及其自身的WordPress API的支持。其中WordPress API最为丰富，提供了包括操作评论文章在内的各种各样的支持。Blogger API功能较少，基本上淘汰不用了；而metaWeblog API提供了常用的接口且参数比较简洁，用得较多一些。所以我们以它作为例子。 三、例子代码 这个例子中，需要用到apache的XML-RPC项目包,大家可以到 apache 官方下载,使用这个例子，就可以与昨天的《通用文章采集器的设计与实现》结合，来生成自动发布的站点了，这个慎用哦，后果自负：） import java.net.URL; import java.util.HashMap; import java.util.Map; &#160; import org.apache.xmlrpc.client.XmlRpcClient; import org.apache.xmlrpc.client.XmlRpcClientConfigImpl; &#160; public class Test &#123; public static void post&#40;String title, String content&#41; &#123; try&#123; // Set up XML-RPC connection to server String [...]]]></description>
			<content:encoded><![CDATA[<p>java向wordpress发布文章也成？当然成！不仅能发布文章，读写都不成问题，还很方便，这些便利得益于XML-RPC协议。WordPress提供了XML-RPC API使得第三方的可以与之通信来发布和修改博客。我们也可以使用这个接口做一些工作，例如：在网站首页显示最新的博客、在博客之外的页面上发表博客文章、把博客与其他内容管理系统结合等。<span id="more-486"></span></p>
<p>一、开启XML-RPC支持</p>
<p>WordPress的XML-RPC协议默认是未开启的，需要到管理后台的“设置&#8211;>撰写”里的“远程发布”给XML-RPC打上勾。其说明文字为：启用 WordPress，Movable Type，MetaWeblog和Blogger 的 XML-RPC发布协议。</p>
<p>二、API接口选择</p>
<p>WordPress提供了对Blogger API、metaWeblog API、Movable Type API以及其自身的WordPress API的支持。其中WordPress API最为丰富，提供了包括操作评论文章在内的各种各样的支持。Blogger API功能较少，基本上淘汰不用了；而metaWeblog API提供了常用的接口且参数比较简洁，用得较多一些。所以我们以它作为例子。</p>
<p>三、例子代码</p>
<p>这个例子中，需要用到apache的XML-RPC项目包,大家可以到 <a href="http://ws.apache.org/xmlrpc/download.html" target="_blank">apache 官方</a>下载,使用这个例子，就可以与昨天的《<a href="http://www.voland.com.cn/common-article-collection-design-and-implementation">通用文章采集器的设计与实现</a>》结合，来生成自动发布的站点了，这个慎用哦，后果自负：）</p>

<div class="wp_syntax"><div class="code"><pre class="java" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">java.net.URL</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">java.util.HashMap</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">java.util.Map</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">org.apache.xmlrpc.client.XmlRpcClient</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">org.apache.xmlrpc.client.XmlRpcClientConfigImpl</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">class</span> Test <span style="color: #009900;">&#123;</span>
	<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">static</span> <span style="color: #000066; font-weight: bold;">void</span> post<span style="color: #009900;">&#40;</span><span style="color: #003399;">String</span> title, <span style="color: #003399;">String</span> content<span style="color: #009900;">&#41;</span>  <span style="color: #009900;">&#123;</span>
		<span style="color: #000000; font-weight: bold;">try</span><span style="color: #009900;">&#123;</span>
			<span style="color: #666666; font-style: italic;">// Set up XML-RPC connection to server</span>
                        <span style="color: #003399;">String</span> domain <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;www.extbi.com&quot;</span><span style="color: #339933;">;</span><span style="color: #666666; font-style: italic;">//你网站的域名</span>
			XmlRpcClientConfigImpl config <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> XmlRpcClientConfigImpl<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			config.<span style="color: #006633;">setServerURL</span><span style="color: #009900;">&#40;</span><span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">URL</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;http://&quot;</span><span style="color: #339933;">+</span>domain<span style="color: #339933;">+</span><span style="color: #0000ff;">&quot;/xmlrpc.php&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			XmlRpcClient client <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> XmlRpcClient<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			client.<span style="color: #006633;">setConfig</span><span style="color: #009900;">&#40;</span>config<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
			<span style="color: #666666; font-style: italic;">// Set up parameters required by newPost method</span>
			<span style="color: #003399;">Map</span> post <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">HashMap</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			post.<span style="color: #006633;">put</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;title&quot;</span>, title<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><span style="color: #666666; font-style: italic;">//标题</span>
			post.<span style="color: #006633;">put</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;mt_keywords&quot;</span>, <span style="color: #0000ff;">&quot;标签,标签2,标签3&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><span style="color: #666666; font-style: italic;">//标签</span>
			<span style="color: #003399;">Object</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> categories <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">Object</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> <span style="color: #009900;">&#123;</span> <span style="color: #0000ff;">&quot;服饰&quot;</span>,<span style="color: #0000ff;">&quot;数码&quot;</span> <span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span><span style="color: #666666; font-style: italic;">//分类</span>
			post.<span style="color: #006633;">put</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;categories&quot;</span>, categories<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			post.<span style="color: #006633;">put</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;description&quot;</span>, content<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><span style="color: #666666; font-style: italic;">//内容</span>
			<span style="color: #003399;">Object</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> params <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">Object</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> <span style="color: #009900;">&#123;</span> <span style="color: #0000ff;">&quot;1&quot;</span>, <span style="color: #0000ff;">&quot;用户名&quot;</span>, <span style="color: #0000ff;">&quot;密码&quot;</span>, post,
					<span style="color: #003399;">Boolean</span>.<span style="color: #000066; font-weight: bold;">TRUE</span> <span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span>
&nbsp;
			<span style="color: #666666; font-style: italic;">// Call newPost</span>
			<span style="color: #003399;">String</span> result <span style="color: #339933;">=</span> <span style="color: #009900;">&#40;</span><span style="color: #003399;">String</span><span style="color: #009900;">&#41;</span> client.<span style="color: #006633;">execute</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;metaWeblog.newPost&quot;</span>, params<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			<span style="color: #003399;">System</span>.<span style="color: #006633;">out</span>.<span style="color: #006633;">println</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot; Created with blogid &quot;</span> <span style="color: #339933;">+</span> result<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span><span style="color: #000000; font-weight: bold;">catch</span> <span style="color: #009900;">&#40;</span><span style="color: #003399;">Exception</span> e<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
			<span style="color: #666666; font-style: italic;">// TODO: handle exception</span>
                       <span style="color: #003399;">System</span>.<span style="color: #006633;">out</span>.<span style="color: #006633;">println</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot; UnCreated &quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span>
	<span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<p>四、畅想</p>
<p>博客有如此大强大，灵活，好用的接口 ，那为什么国内常用的CMS没有呢？做一个也花不了多少时间，当然，在实际的管理软件中，如CRM中，我建议也可以加入这样的接口，那与其它系统集成是多么爽的一件事情。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.voland.com.cn/java-program-to-wordpress-with-articles-published/feed</wfw:commentRss>
		<slash:comments>14</slash:comments>
		</item>
		<item>
		<title>通用文章采集器的设计与实现</title>
		<link>http://www.voland.com.cn/common-article-collection-design-and-implementation</link>
		<comments>http://www.voland.com.cn/common-article-collection-design-and-implementation#comments</comments>
		<pubDate>Wed, 12 May 2010 02:40:30 +0000</pubDate>
		<dc:creator>Nortan</dc:creator>
				<category><![CDATA[人生百味]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[采集器]]></category>

		<guid isPermaLink="false">http://www.voland.com.cn/?p=478</guid>
		<description><![CDATA[java实现通用文章采集器，可以采集一个给定文章列表URL中的所有文章及文章有内分页的情况。制作个性采集器必看！]]></description>
			<content:encoded><![CDATA[<p>最近头脑有点发热，想做一个采集器来采集文章，然后做一个类似垃圾站的东西，当然，使用的文章发布程序还是用wordpress,wordpress上的采集器不太多，他们大多都是通过rss采集，这也不太合适我，因为如果做为文章采集，采集的对象可能有文章内分页，所以最终还是自己写一个程序吧，自己最熟悉的还是java,那就用java写吧。</p>
<p>采集一堆文章，主要有如下步骤：<br />
第一：采集规则定义<br />
第二：按指定的规则进行文章采集</p>
<p>根据以上步骤，我们分开来实现。采集规则的定义实际就是你要做什么，怎么做的定义，我们这里很明确，就是指定一个列表的url地址，提取列表中所有文章的url，然后再一一采集各文章中的标题、内容，如果每篇文章有内分页，还要分别提取。所以，我们首先要做的，就是给定一个url地址，取得对应的html源码。下面是一个实现，它模拟浏览器，向url发出http请求，服务器返回<span id="more-478"></span>的结果，就是我们需要得到的东西。</p>

<div class="wp_syntax"><div class="code"><pre class="java" style="font-family:monospace;"><span style="color: #008000; font-style: italic; font-weight: bold;">/**
	 * 给定一个列表url，得到本url对象的html,然后其它操作在这个基础上做
	 * @param url 
	 * @param encoding   返回html的编码方式，如GBK，UTF─8
	 * @return
	 * @throws Exception
	 */</span>
	<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #003399;">String</span> getHtml<span style="color: #009900;">&#40;</span><span style="color: #003399;">String</span> url, <span style="color: #003399;">String</span> encoding<span style="color: #009900;">&#41;</span> <span style="color: #000000; font-weight: bold;">throws</span> <span style="color: #003399;">Exception</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #003399;">String</span> value <span style="color: #339933;">=</span> <span style="color: #000066; font-weight: bold;">null</span><span style="color: #339933;">;</span>
		HttpClient httpclient <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> DefaultHttpClient<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>        
        HttpGet httpget <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> HttpGet<span style="color: #009900;">&#40;</span>url<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
        <span style="color: #666666; font-style: italic;">// 以下这条如果不加会发现无论你设置Accept-Charset为gbk还是utf-8，他都会默认返回gb2312（本例针对google.cn来说）</span>
        httpget.<span style="color: #006633;">setHeader</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;User-Agent&quot;</span>, <span style="color: #0000ff;">&quot;Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.1.2)&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #666666; font-style: italic;">// 用逗号分隔显示可以同时接受多种编码</span>
        httpget.<span style="color: #006633;">setHeader</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Accept-Language&quot;</span>, <span style="color: #0000ff;">&quot;zh-cn,zh;q=0.5&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        httpget.<span style="color: #006633;">setHeader</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Accept-Charset&quot;</span>, <span style="color: #0000ff;">&quot;GB2312,utf-8;q=0.7,*;q=0.7&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>        
        HttpResponse response <span style="color: #339933;">=</span> httpclient.<span style="color: #006633;">execute</span><span style="color: #009900;">&#40;</span>httpget<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>     
&nbsp;
        <span style="color: #666666; font-style: italic;">// 判断页面返回状态判断是否进行转向抓取新链接</span>
        <span style="color: #000066; font-weight: bold;">int</span> statusCode <span style="color: #339933;">=</span> response.<span style="color: #006633;">getStatusLine</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>.<span style="color: #006633;">getStatusCode</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span>statusCode <span style="color: #339933;">==</span> HttpStatus.<span style="color: #006633;">SC_MOVED_PERMANENTLY</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">||</span>
                <span style="color: #009900;">&#40;</span>statusCode <span style="color: #339933;">==</span> HttpStatus.<span style="color: #006633;">SC_MOVED_TEMPORARILY</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">||</span>
                <span style="color: #009900;">&#40;</span>statusCode <span style="color: #339933;">==</span> HttpStatus.<span style="color: #006633;">SC_SEE_OTHER</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">||</span>
                <span style="color: #009900;">&#40;</span>statusCode <span style="color: #339933;">==</span> HttpStatus.<span style="color: #006633;">SC_TEMPORARY_REDIRECT</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
            <span style="color: #666666; font-style: italic;">// 此处重定向处理  此处还未验证</span>
            <span style="color: #003399;">String</span> newUri <span style="color: #339933;">=</span> response.<span style="color: #006633;">getLastHeader</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Location&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #006633;">getValue</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
            httpclient <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> DefaultHttpClient<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
            httpget <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> HttpGet<span style="color: #009900;">&#40;</span>newUri<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
            response <span style="color: #339933;">=</span> httpclient.<span style="color: #006633;">execute</span><span style="color: #009900;">&#40;</span>httpget<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #009900;">&#125;</span>
&nbsp;
        <span style="color: #666666; font-style: italic;">// Get hold of the response entity</span>
        HttpEntity entity <span style="color: #339933;">=</span> response.<span style="color: #006633;">getEntity</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>        
        <span style="color: #666666; font-style: italic;">// If the response does not enclose an entity, there is no need</span>
        <span style="color: #666666; font-style: italic;">// to bother about connection release</span>
        <span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>entity <span style="color: #339933;">!=</span> <span style="color: #000066; font-weight: bold;">null</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
            <span style="color: #666666; font-style: italic;">// 将源码流保存在一个byte数组当中，因为可能需要两次用到该流，</span>
            <span style="color: #000066; font-weight: bold;">byte</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> bytes <span style="color: #339933;">=</span> EntityUtils.<span style="color: #006633;">toByteArray</span><span style="color: #009900;">&#40;</span>entity<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
            <span style="color: #666666; font-style: italic;">// 如果头部Content-Type中包含了编码信息，那么我们可以直接在此处获取</span>
&nbsp;
            <span style="color: #000000; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>encoding <span style="color: #339933;">!=</span> <span style="color: #000066; font-weight: bold;">null</span> <span style="color: #339933;">&amp;&amp;</span> <span style="color: #339933;">!</span><span style="color: #0000ff;">&quot;&quot;</span>.<span style="color: #006633;">equals</span><span style="color: #009900;">&#40;</span>encoding.<span style="color: #006633;">trim</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
            	value <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">String</span><span style="color: #009900;">&#40;</span>bytes, encoding<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
            <span style="color: #009900;">&#125;</span><span style="color: #000000; font-weight: bold;">else</span><span style="color: #009900;">&#123;</span>
            	<span style="color: #003399;">String</span> charSet <span style="color: #339933;">=</span> EntityUtils.<span style="color: #006633;">getContentCharSet</span><span style="color: #009900;">&#40;</span>entity<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
            	<span style="color: #666666; font-style: italic;">// 如果头部中没有，那么我们需要 查看页面源码，这个方法虽然不能说完全正确，因为有些粗糙的网页编码者没有在页面中写头部编码信息</span>
	            <span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>charSet <span style="color: #339933;">==</span> <span style="color: #000066; font-weight: bold;">null</span> <span style="color: #339933;">||</span> <span style="color: #0000ff;">&quot;&quot;</span>.<span style="color: #006633;">equals</span><span style="color: #009900;">&#40;</span>charSet.<span style="color: #006633;">trim</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
	                <span style="color: #003399;">String</span> regEx<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;(?=&lt;meta).*?(?&lt;=charset=[<span style="color: #000099; font-weight: bold;">\\</span>'|<span style="color: #000099; font-weight: bold;">\\</span><span style="color: #000099; font-weight: bold;">\&quot;</span>]?)([[a-z]|[A-Z]|[0-9]|-]*)&quot;</span><span style="color: #339933;">;</span>
	                Pattern p<span style="color: #339933;">=</span>Pattern.<span style="color: #006633;">compile</span><span style="color: #009900;">&#40;</span>regEx, Pattern.<span style="color: #006633;">CASE_INSENSITIVE</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	                Matcher m<span style="color: #339933;">=</span>p.<span style="color: #006633;">matcher</span><span style="color: #009900;">&#40;</span><span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">String</span><span style="color: #009900;">&#40;</span>bytes<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>  <span style="color: #666666; font-style: italic;">// 默认编码转成字符串，因为我们的匹配中无中文，所以串中可能的乱码对我们没有影响</span>
	                <span style="color: #000066; font-weight: bold;">boolean</span> result<span style="color: #339933;">=</span>m.<span style="color: #006633;">find</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	                <span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>m.<span style="color: #006633;">groupCount</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">==</span> <span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
	                    charSet <span style="color: #339933;">=</span> m.<span style="color: #006633;">group</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	                <span style="color: #009900;">&#125;</span>
	            <span style="color: #009900;">&#125;</span>
	            value <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">String</span><span style="color: #009900;">&#40;</span>bytes, charSet<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
            <span style="color: #009900;">&#125;</span>       
        <span style="color: #009900;">&#125;</span>
&nbsp;
        httpclient.<span style="color: #006633;">getConnectionManager</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>.<span style="color: #006633;">shutdown</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>   
        <span style="color: #000000; font-weight: bold;">return</span> value<span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span></pre></div></div>

<p><code>注意，这里用到了Apache的HttpClient项目，由于空间有限，我这里不上传本函数所依赖的包，请大家自己到apache下载。</code></p>
<p>以淘宝的女人门户为例子，我给定http://info.taobao.com/list/lady/23/30/2330b6ed-16ce-4d0e-b7fa-58a411e1871a_1.php这个url地址，它会返回一个包含文章列表的html。有了这个html，我们接下来就是提取URL，当然，提取前先不着急，因为这个html里面的内容比较多，不能直接提取，那就把它简单化，先得到一个区域吧：</p>

<div class="wp_syntax"><div class="code"><pre class="java" style="font-family:monospace;"><span style="color: #008000; font-style: italic; font-weight: bold;">/**
	 * 列表区域识别规则
	 * @param html 原始的html
	 * @param areaRegex 所提取区域的正则表达式
	 * @param area 正则表达式中需要提取的区域，取值是：AREA_LIST，AREA_TITLE等等
	 * @return
	 */</span>
	<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #003399;">String</span> getArea<span style="color: #009900;">&#40;</span><span style="color: #003399;">String</span> html, <span style="color: #003399;">String</span> areaRegex ,<span style="color: #003399;">String</span> area<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #003399;">String</span> valueHtml<span style="color: #339933;">=</span><span style="color: #000066; font-weight: bold;">null</span><span style="color: #339933;">;</span>
		<span style="color: #003399;">String</span> regex <span style="color: #339933;">=</span> areaRegex.<span style="color: #006633;">replaceFirst</span><span style="color: #009900;">&#40;</span>area, <span style="color: #0000ff;">&quot;([<span style="color: #000099; font-weight: bold;">\\</span><span style="color: #000099; font-weight: bold;">\\</span>s<span style="color: #000099; font-weight: bold;">\\</span><span style="color: #000099; font-weight: bold;">\\</span>S]*?)&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #666666; font-style: italic;">//		System.out.println(regex);</span>
		Pattern pattern <span style="color: #339933;">=</span> Pattern.<span style="color: #006633;">compile</span><span style="color: #009900;">&#40;</span>regex,Pattern.<span style="color: #006633;">MULTILINE</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> 
		Matcher matcher <span style="color: #339933;">=</span> pattern.<span style="color: #006633;">matcher</span><span style="color: #009900;">&#40;</span>html<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> 
		<span style="color: #000000; font-weight: bold;">while</span><span style="color: #009900;">&#40;</span>matcher.<span style="color: #006633;">find</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
			valueHtml <span style="color: #339933;">=</span> matcher.<span style="color: #006633;">group</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span>.<span style="color: #006633;">trim</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			<span style="color: #000000; font-weight: bold;">break</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span> 
		<span style="color: #000000; font-weight: bold;">return</span> valueHtml<span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span></pre></div></div>

<p>有了这个域名，我就就可以提取URL列表了：</p>

<div class="wp_syntax"><div class="code"><pre class="java" style="font-family:monospace;">       <span style="color: #666666; font-style: italic;">//提取给定区域的文章列表地址,</span>
       <span style="color: #000000; font-weight: bold;">public</span> List<span style="color: #339933;">&lt;</span>String<span style="color: #339933;">&gt;</span> getListUrl<span style="color: #009900;">&#40;</span><span style="color: #003399;">String</span> areaHtml,<span style="color: #003399;">String</span> regex,<span style="color: #003399;">String</span> withPrefix<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
		<span style="color: #000000; font-weight: bold;">return</span> <span style="color: #000000; font-weight: bold;">this</span>.<span style="color: #006633;">getListUrl</span><span style="color: #009900;">&#40;</span>areaHtml, regex, withPrefix, <span style="color: #000066; font-weight: bold;">false</span>, <span style="color: #000066; font-weight: bold;">null</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
	<span style="color: #008000; font-style: italic; font-weight: bold;">/**
	 * 提取给定区域的文章列表地址，主要用来提取文章内的分页用的
	 * @param areaHtml 
	 * @param regex 
	 * @param withPrefix 返回的地址是否需要加一个前缀，如21cn的新闻，提取到后是没有前缀的，得加一个
	 * @param hasOmit  提取文章内分页时，是否有分页是否有省略号，如淘宝的就有。
	 * @param pageNumRegex  提取文章内的分页正则表达式
	 * @return
	 */</span>
	<span style="color: #000000; font-weight: bold;">public</span> List<span style="color: #339933;">&lt;</span>String<span style="color: #339933;">&gt;</span> getListUrl<span style="color: #009900;">&#40;</span><span style="color: #003399;">String</span> areaHtml,<span style="color: #003399;">String</span> regex,<span style="color: #003399;">String</span> withPrefix,<span style="color: #000066; font-weight: bold;">boolean</span> hasOmit,<span style="color: #003399;">String</span> pageNumRegex<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
		List<span style="color: #339933;">&lt;</span>String<span style="color: #339933;">&gt;</span> list <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> ArrayList<span style="color: #339933;">&lt;</span>String<span style="color: #339933;">&gt;</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		regex <span style="color: #339933;">=</span> regex.<span style="color: #006633;">replaceFirst</span><span style="color: #009900;">&#40;</span>WebContent.<span style="color: #006633;">AREA_URL</span>, <span style="color: #0000ff;">&quot;(.*?)&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		Pattern pa <span style="color: #339933;">=</span> Pattern.<span style="color: #006633;">compile</span><span style="color: #009900;">&#40;</span>regex, Pattern.<span style="color: #006633;">MULTILINE</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		Matcher ma <span style="color: #339933;">=</span> pa.<span style="color: #006633;">matcher</span><span style="color: #009900;">&#40;</span>areaHtml<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #000000; font-weight: bold;">while</span> <span style="color: #009900;">&#40;</span>ma.<span style="color: #006633;">find</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
			<span style="color: #000000; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>withPrefix <span style="color: #339933;">!=</span><span style="color: #000066; font-weight: bold;">null</span> <span style="color: #339933;">&amp;&amp;</span> <span style="color: #339933;">!</span><span style="color: #0000ff;">&quot;&quot;</span>.<span style="color: #006633;">equals</span><span style="color: #009900;">&#40;</span>withPrefix.<span style="color: #006633;">trim</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
				list.<span style="color: #006633;">add</span><span style="color: #009900;">&#40;</span>withPrefix<span style="color: #339933;">+</span>ma.<span style="color: #006633;">group</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span>.<span style="color: #006633;">trim</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			<span style="color: #009900;">&#125;</span><span style="color: #000000; font-weight: bold;">else</span><span style="color: #009900;">&#123;</span>
				list.<span style="color: #006633;">add</span><span style="color: #009900;">&#40;</span>ma.<span style="color: #006633;">group</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span>.<span style="color: #006633;">trim</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			<span style="color: #009900;">&#125;</span>
		<span style="color: #009900;">&#125;</span>
&nbsp;
		<span style="color: #000000; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>hasOmit <span style="color: #339933;">&amp;&amp;</span> list.<span style="color: #006633;">size</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">&gt;</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
			<span style="color: #003399;">String</span> lasturl <span style="color: #339933;">=</span> list.<span style="color: #006633;">get</span><span style="color: #009900;">&#40;</span>list.<span style="color: #006633;">size</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">-</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			list.<span style="color: #006633;">clear</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> 
			regex <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;(.*?)&quot;</span><span style="color: #339933;">+</span>pageNumRegex.<span style="color: #006633;">replaceFirst</span><span style="color: #009900;">&#40;</span>WebContent.<span style="color: #006633;">PAGE_URL_NUM</span>, <span style="color: #0000ff;">&quot;(-?<span style="color: #000099; font-weight: bold;">\\</span><span style="color: #000099; font-weight: bold;">\\</span>d+)&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>			
			pa <span style="color: #339933;">=</span> Pattern.<span style="color: #006633;">compile</span><span style="color: #009900;">&#40;</span>regex<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			ma <span style="color: #339933;">=</span> pa.<span style="color: #006633;">matcher</span><span style="color: #009900;">&#40;</span>lasturl<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			<span style="color: #000000; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>ma.<span style="color: #006633;">find</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
				<span style="color: #000066; font-weight: bold;">int</span> num <span style="color: #339933;">=</span> <span style="color: #003399;">Integer</span>.<span style="color: #006633;">parseInt</span><span style="color: #009900;">&#40;</span>ma.<span style="color: #006633;">group</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">2</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				<span style="color: #003399;">String</span> prefix <span style="color: #339933;">=</span> ma.<span style="color: #006633;">group</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span>.<span style="color: #006633;">trim</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				<span style="color: #003399;">String</span> baseurl <span style="color: #339933;">=</span> prefix<span style="color: #339933;">+</span>pageNumRegex<span style="color: #339933;">;</span>
&nbsp;
				<span style="color: #000000; font-weight: bold;">for</span><span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">int</span> i <span style="color: #339933;">=</span> <span style="color: #cc66cc;">2</span><span style="color: #339933;">;</span> i <span style="color: #339933;">&lt;=</span> num<span style="color: #339933;">;</span> i <span style="color: #339933;">++</span><span style="color: #009900;">&#41;</span>
				list.<span style="color: #006633;">add</span><span style="color: #009900;">&#40;</span>baseurl.<span style="color: #006633;">replaceFirst</span><span style="color: #009900;">&#40;</span>WebContent.<span style="color: #006633;">PAGE_URL_NUM</span>, i<span style="color: #339933;">+</span><span style="color: #0000ff;">&quot;&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			<span style="color: #009900;">&#125;</span>			
		<span style="color: #009900;">&#125;</span>
&nbsp;
		<span style="color: #000000; font-weight: bold;">return</span> list<span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span></pre></div></div>

<p>以上两个函数，就可以得到文章列表及文章内分页列表。实际上有这些组合，就可以提取大部分的网站了，这里给一个例子，我的<a href="http://www.extbi.com" target="_blank">http://www.extbi.com</a>这个站点的文章就是用这个提取的。大家根据上面的讲解，好好看吧。<a href="/wp-content/uploads/WebContent.java">WebContent.java</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.voland.com.cn/common-article-collection-design-and-implementation/feed</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>为阿福祈祷、为玉树祈福</title>
		<link>http://www.voland.com.cn/to-fu-prayer-praying-for-the-yushu</link>
		<comments>http://www.voland.com.cn/to-fu-prayer-praying-for-the-yushu#comments</comments>
		<pubDate>Wed, 21 Apr 2010 01:49:21 +0000</pubDate>
		<dc:creator>Nortan</dc:creator>
				<category><![CDATA[人生百味]]></category>
		<category><![CDATA[玉树]]></category>
		<category><![CDATA[阿福]]></category>
		<category><![CDATA[黄福荣]]></category>

		<guid isPermaLink="false">http://www.voland.com.cn/?p=395</guid>
		<description><![CDATA[汶川曾经牵动每个人的心，而玉树同样牵动着每个人的心，昨天晚上与老婆一起看中央电视台的捐款晚会，我们都被一幕幕场面感动得流泪，特别是看到香港同胞&#8211;阿福… 阿福是平淡的，他是一个卡车司机，中华民族千千万万儿女中普通的一名同胞，却在十年里，走遍中国，为祖国的千山万水献着自己的爱心。阿福是伟大的，他是一个社工，中华民族千千万万儿子中普通的一位男人，却在关键了时候，救出三位老师与三位学生，而他在生命垂危的时候，想到的还是他人&#8211;“孩子和老师救出来了没？”阿福是质朴、纯净的，在他灿烂的笑容里看不到任何的杂质，一个身处繁华都市，遍地是黄金的香港，却有如此忘我的人，他这是为了什么？我不知道，我只知道阿福让更多人的心灵净化了…阿福走了，黄福荣走了，他一定上了天堂，那里会有他更美好的生活… 为玉树祈福，为那里的受灾的人们祈福，为那些奔赴在现场救灾的军人、医生、社会团体及个人祈福，更为阿福祈祷，阿福！一路走好！]]></description>
			<content:encoded><![CDATA[<div id="attachment_397" class="wp-caption alignleft" style="width: 310px"><a rel="attachment wp-att-397" href="http://www.voland.com.cn/to-fu-prayer-praying-for-the-yushu/afu"><img class="size-full wp-image-397 " title="阿福" src="http://www.voland.com.cn/wp-content/uploads/2010/04/afu.jpg" alt="阿福" width="300" height="168" /></a><p class="wp-caption-text">为阿福祈祷，为玉树祈福</p></div>
<p>汶川曾经牵动每个人的心，而玉树同样牵动着每个人的心，昨天晚上与老婆一起看中央电视台的捐款晚会，我们都被一幕幕场面感动得流泪，特别是看到香港同胞&#8211;阿福…</p>
<p>阿福是平淡的，他是一个卡车司机，中华民族千千万万儿女中普通的一名同胞，却在十年里，走遍中国，为祖国的千山万水献着自己的爱心。阿福是伟大的，他是一个社工，中华民族千千万万儿子中普通的一位男人，却在关键了时候，救出三位老师与三位学生，而他在生命垂危的时候，想到的还是他人&#8211;“孩子和老师救出来了没？”阿福是质朴、纯净的，在他灿烂的笑容里看不到任何的杂质，一个身处繁华都市，遍地是黄金的香港，却有如此忘我的人，他这是为了什么？我不知道，我只知道阿福让更多人的心灵净化了…阿福走了，黄福荣走了，他一定上了天堂，那里会有他更美好的生活…</p>
<p>为玉树祈福，为那里的受灾的人们祈福，为那些奔赴在现场救灾的军人、医生、社会团体及个人祈福，更为阿福祈祷，阿福！一路走好！</p>
]]></content:encoded>
			<wfw:commentRss>http://www.voland.com.cn/to-fu-prayer-praying-for-the-yushu/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>采集，严重影响了google对本站的好感！</title>
		<link>http://www.voland.com.cn/collection-procedures-affected-google-on-the-site-a-good-impression</link>
		<comments>http://www.voland.com.cn/collection-procedures-affected-google-on-the-site-a-good-impression#comments</comments>
		<pubDate>Mon, 12 Apr 2010 02:33:42 +0000</pubDate>
		<dc:creator>Nortan</dc:creator>
				<category><![CDATA[人生百味]]></category>
		<category><![CDATA[常用]]></category>
		<category><![CDATA[推广]]></category>
		<category><![CDATA[提高访问量]]></category>
		<category><![CDATA[搜索引擎优化]]></category>

		<guid isPermaLink="false">http://www.voland.com.cn/?p=337</guid>
		<description><![CDATA[本站上线一个月来，pagerank从0直接跳到了5，其中一些文章的pagerank都达到了4，而且一共15篇文章，而google对我的收录确多达175条记录，可见，google特别喜欢我的博客]]></description>
			<content:encoded><![CDATA[<p>本站上线一个月来，经过本人努力的推广与搜索引擎优化，pagerank从0直接跳到了5，其中一些文章的pagerank都达到了4，而且一共15篇文章，而google对我的收录确多达175条记录，可见，google特别喜欢我的博客，甚至已经没有东西收录可以收录了，它都能更深入的挖一些链接来收录。但是，上周五，我写了一遍文章叫做《<a href="http://www.voland.com.cn/affect-your-site-traffic-to-several-factors">影响你网站访问量的三大因素</a>》，然后在admin5上进行了发表，想引来更多的流量，没有想到流量是引来了不少，不过自从这文章在admin5上发表后，google开始有些不喜欢本网站。</p>
<p>为什么google从喜欢到不喜欢？我做了什么？根据我对本站的进一步优化操作，主要做了这几件事情：<span id="more-337"></span></p>
<p>第一、为了提高网站访问量，我在admin上发表了《<a href="http://www.voland.com.cn/affect-your-site-traffic-to-several-factors">影响你网站访问量的三大因素</a>》，然后这文章被大量的采集程序收录，造成google根本不收录我的文章！</p>
<p>第二、由于研究发现html中的A标签中的title属性在百度中比较受重视，于是把“Nortan Posted in 常用”中的Nortan链接的title删除，在文章标题中增加title.</p>
<p>第三、把回复中的用户名链接，改成内链接（原来是直链，怕受其它网站的影响，降级网站文章的权重）</p>
<p>本来是不想在这方面下太多功夫与时间，这仅仅是一个博客而已，仅仅想记录自己遇到问题的解决办法等等，但高低起落太大，这种事情可能大家也会遇到 ，所以拿出来，大家一起分析一下，共同出谋献策</p>
]]></content:encoded>
			<wfw:commentRss>http://www.voland.com.cn/collection-procedures-affected-google-on-the-site-a-good-impression/feed</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>我的生活我的车之中华俊捷与凯越</title>
		<link>http://www.voland.com.cn/my-life-my-car-into-hua-jun-jie-and-excelle</link>
		<comments>http://www.voland.com.cn/my-life-my-car-into-hua-jun-jie-and-excelle#comments</comments>
		<pubDate>Wed, 17 Mar 2010 03:46:03 +0000</pubDate>
		<dc:creator>Nortan</dc:creator>
				<category><![CDATA[人生百味]]></category>
		<category><![CDATA[中华俊捷]]></category>
		<category><![CDATA[俊捷FRV]]></category>
		<category><![CDATA[新凯越]]></category>
		<category><![CDATA[车]]></category>

		<guid isPermaLink="false">http://www.voland.com.cn/?p=233</guid>
		<description><![CDATA[看到标题，估计大家以为我已经有车了，实际上我没有，连开车都不会，但是想车的日子却很长了。我喜欢的车有中华俊捷、新凯越及俊捷FRV。喜欢中华俊捷是因为他大气、价格公道，只要有10W左右，你就能有中型车，有良好的配置。喜欢新凯越是因为他漂亮，虽然是棒子车变来了，不过它现在也称别克，虽然他是油老虎，但也能接受。喜欢俊捷FRV还是因为漂亮，价格公道，空间够用。 中华俊捷是中型车，如果我有10W，我想我会买它，就为10W我就可以拥有1.8的排量、拥有中型车，拥有几十万元的车才有的双叉臂式独立悬架及多连杆独立悬架、拥有前通风后盘式、拥有……反正这车很强很大，很公道。据说1.8的排量油耗不高，高速开上180也不漂 俊捷FRV与中华俊捷是同一产商，不同的品牌，虽然名字挂点钩，实际是完全不一样，俊捷FRV是两厢的紧凑型车，但它也因为外形时尚、空间不小、售价厚道、省油而得到了大家的认可… 新凯越吧，还是不说了吧，努力吧，我们兄弟，你的车车在等你…]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.voland.com.cn/my-life-my-car-into-hua-jun-jie-and-excelle/attachment/4" rel="attachment wp-att-246"><img src="http://www.voland.com.cn/wp-content/uploads/2010/03/4.png" alt="" title="风中的凯越" width="590" height="200" class="aligncenter size-full wp-image-246" /></a><br />
看到标题，估计大家以为我已经有车了，实际上我没有，连开车都不会，但是想车的日子却很长了。我喜欢的车有中华俊捷、新凯越及俊捷FRV。喜欢中华俊捷是因为他大气、价格公道，只要有10W左右，你就能有中型车，有良好的配置。喜欢新凯越是因为他漂亮，虽然是棒子车变来了，不过它现在也称别克，虽然他是油老虎，但也能接受。喜欢俊捷FRV还是因为漂亮，价格公道，空间够用。</p>
<p>中华俊捷是中型车，如果我有10W，我想我会买它，就为10W我就可以拥有1.8的排量、拥有中型车，拥有几十万元的车才有的双叉臂式独立悬架及多连杆独立悬架、拥有前通风后盘式、拥有……反正这车很强很大，很公道。据说1.8的排量油耗不高，高速开上180也不漂</p>
<p>俊捷FRV与中华俊捷是同一产商，不同的品牌，虽然名字挂点钩，实际是完全不一样，俊捷FRV是两厢的紧凑型车，但它也因为外形时尚、空间不小、售价厚道、省油而得到了大家的认可…</p>
<p>新凯越吧，还是不说了吧，努力吧，我们兄弟，你的车车在等你…</p>
]]></content:encoded>
			<wfw:commentRss>http://www.voland.com.cn/my-life-my-car-into-hua-jun-jie-and-excelle/feed</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>初来报道</title>
		<link>http://www.voland.com.cn/first-to-report</link>
		<comments>http://www.voland.com.cn/first-to-report#comments</comments>
		<pubDate>Fri, 12 Mar 2010 02:43:35 +0000</pubDate>
		<dc:creator>jasmine</dc:creator>
				<category><![CDATA[人生百味]]></category>
		<category><![CDATA[本网站元老级用户]]></category>

		<guid isPermaLink="false">http://www.voland.com.cn/%e5%88%9d%e6%9d%a5%e6%8a%a5%e9%81%93</guid>
		<description><![CDATA[非常荣幸成员本网站元老级用户，虽然本人向来惜字如金，但为了 感谢站长的信赖，本人一定会在百忙之中抽出时间和精力，为本网站添 砖加瓦的！我们一起努力！]]></description>
			<content:encoded><![CDATA[<p><img class="size-full wp-image-211 alignleft" title="我是小狗我怕谁" src="http://www.voland.com.cn/wp-content/uploads/2010/03/20090915003953804536.jpg" alt="" width="180" height="50" />非常荣幸成员本网站元老级用户，虽然本人向来惜字如金，但为了<br />
感谢站长的信赖，本人一定会在百忙之中抽出时间和精力，为本网站添<br />
砖加瓦的！我们一起努力！</p>
]]></content:encoded>
			<wfw:commentRss>http://www.voland.com.cn/first-to-report/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>

