<?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>标点符 &#187; 程序测试</title>
	<atom:link href="http://www.biaodianfu.com/category/web-development/program-test/feed" rel="self" type="application/rss+xml" />
	<link>http://www.biaodianfu.com</link>
	<description>编译自己的互联网生活</description>
	<lastBuildDate>Wed, 08 Feb 2012 08:42:34 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>开源网站分析软件Piwik的数据库表结构</title>
		<link>http://www.biaodianfu.com/piwik-database-schema.html</link>
		<comments>http://www.biaodianfu.com/piwik-database-schema.html#comments</comments>
		<pubDate>Wed, 03 Aug 2011 06:59:54 +0000</pubDate>
		<dc:creator>标点符</dc:creator>
				<category><![CDATA[程序测试]]></category>
		<category><![CDATA[Piwik]]></category>

		<guid isPermaLink="false">http://www.biaodianfu.com/?p=4133</guid>
		<description><![CDATA[Piwik是一套基于Php+MySQL技术构建，能够与Google Analytics相媲美的开源网站访问统计系统，前身是phpMyVisites。Piwik可以给你详细的统计信息，比如网页浏览人数, 访问最多的页面, 搜索引擎关键词等等，并且采用了大量的AJAX/Flash技术，使得在操作上更加便易。此外，它还采用了插件扩展及开放API架构，可以让开发人员根据自已的实际需求创建更多的功能。 Piwik的数据库结构图 上图（点击可查看大图）Piwik的数据库结构按照简洁、效率和模块化进行设计。其数据库包含以下部分 Statistics logger（统计记录） Users &#38; Permissions（用户和权限） Site（网站） Archived data（存档数据） Debug / Info log（调试/信息记录） SQL query profiling（SQL查询分析） Statistics logger 统计记录部分包含统计到的用户访问日志，这些数据一些来自于Javascript的标记，一些包逊于Cookie，一些有PHP获取。每个单独的访问者在Cookie中标记了一个唯一的visitor_idcookie。在数据库表log_visit中记录了用户的每一次“visit”。例如一个访问者在一天内访问网站两次（中间相隔30分钟），log_visit中就会有两条该用户的记录。 在一次访问中，一个访问者至少会浏览一个页面，我们称每浏览一个页面为一个“action”,每个action都会被定义一个名称（”homepage”, “/blog/hello-world”）和类型（一个定义行为种类的整数）。所有的单独“action”都被储存在表log_action中。 每个用户新的action都被记录到表log_link_visit_action中，其中包含了idaction和idvisit。同时这个表还包含idaction_ref 和time_spent_ref_action 字段，用来记录用户的上一次action。当我们请求第二个页面，程序将从cookie中读取上一个页面的idaction ，并作为action_ref保存，并记录中间的时间time_spent_ref_action.使用这个技术是因为我们不需要去更新上一条记录的时间：我们只需要记录当前上层页面的信息。 Users &#38; Permissions 一个用户被定义为login, password, email 和一个用于请求API的token_auth。对于一个网站一个用户会有不同的access级别(浏览、管理、没有权限或是超级管理员。 Site 一个网站被定义为idsite和 main_url，main_url 是用来指向 site_url，所以它可以有很多的url。 Archived data 存档在piwik中是一段时间的数据聚合。它是由日志处理后得到的有具体含义的数据。 archive_* 表中的每行数据包含一个网站给定的日期/时间段的数据。例如，提条记录idsite = 3的这个网站在2008年2月7日的这周访问网站用户的国家列表。 Piwik的存档中总共有两种不同的数据类型的表：float和blob archive_numeric_* 表是用来储存数值的。改字段值value使用的是FLOAT类型，即他可以保存整型和浮点数。比如储存给定时间点网站的访问者数。 archive_blob_* 表用来储存出数字以外的其他任何数据。BLOB是二进制数据类型，可以用来任何数据，比如字符串、字符串转化的序列数组、序列化的对象等。例如用来储存用户在一定时间段内所有的关键词。 事实上两个表都有相同的结构，除了value [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://piwik.org/" target="_blank">Piwik</a>是一套基于Php+MySQL技术构建，能够与<a href="http://www.biaodianfu.com/tag/google-analytics" target="_blank">Google Analytics</a>相媲美的开源网站访问统计系统，前身是phpMyVisites。Piwik可以给你详细的统计信息，比如网页浏览人数, 访问最多的页面, 搜索引擎关键词等等，并且采用了大量的AJAX/Flash技术，使得在操作上更加便易。此外，它还采用了插件扩展及开放API架构，可以让开发人员根据自已的实际需求创建更多的功能。</p>
<p><strong>Piwik的数据库结构图</strong></p>
<p><a href="http://www.biaodianfu.com/wp-content/uploads/2011/08/db-schema.png"><img class="alignnone size-medium wp-image-4134" title="db-schema" src="http://www.biaodianfu.com/wp-content/uploads/2011/08/db-schema-300x186.png" alt="" width="300" height="186" /></a></p>
<p>上图（点击可查看大图）Piwik的数据库结构按照简洁、效率和模块化进行设计。其数据库包含以下部分</p>
<ul>
<li>Statistics logger（统计记录）</li>
<li>Users &amp; Permissions（用户和权限）</li>
<li>Site（网站）</li>
<li>Archived data（存档数据）</li>
<li>Debug / Info log（调试/信息记录）</li>
<li>SQL query profiling（SQL查询分析）</li>
</ul>
<p><strong>Statistics logger</strong></p>
<p>统计记录部分包含统计到的用户访问日志，这些数据一些来自于Javascript的标记，一些包逊于Cookie，一些有PHP获取。每个单独的访问者在Cookie中标记了一个唯一的<strong>visitor_idcookie</strong>。在数据库表<em>log_visit</em>中记录了用户的每一次“visit”。例如一个访问者在一天内访问网站两次（中间相隔30分钟），<em>log_visit</em>中就会有两条该用户的记录。</p>
<p>在一次访问中，一个访问者至少会浏览一个页面，我们称每浏览一个页面为一个“action”,每个action都会被定义一个名称（”homepage”, “/blog/hello-world”）和类型（一个定义行为种类的整数）。所有的单独“action”都被储存在表<em>log_action</em>中<em>。</em></p>
<p>每个用户新的action都被记录到表<em>log_link_visit_action</em>中，其中包含了<strong>idaction</strong>和<strong>idvisit</strong>。同时这个表还包含<strong>idaction_ref</strong> 和<strong>time_spent_ref_action </strong>字段，用来记录用户的上一次action。当我们请求第二个页面，程序将从cookie中读取上一个页面的<strong>idaction</strong> ，并作为<strong>action_ref</strong>保存，并记录中间的时间<strong>time_spent_ref_action</strong>.使用这个技术是因为我们不需要去更新上一条记录的时间：我们只需要记录当前上层页面的信息。</p>
<p><strong>Users &amp; Permissions</strong></p>
<p>一个用户被定义为<strong>login</strong>, <strong>password</strong>, <strong>email</strong> 和一个用于请求API的<strong>token_auth</strong>。对于一个网站一个用户会有不同的<strong>access</strong>级别(浏览、管理、没有权限或是超级管理员。</p>
<p><strong>Site</strong></p>
<p>一个网站被定义为<strong>idsite</strong>和 <strong>main_url</strong>，<strong>main_url</strong> 是用来指向 <em>site_url</em>，所以它可以有很多的<strong>url</strong>。</p>
<p><strong>Archived data</strong></p>
<p>存档在piwik中是一段时间的数据聚合。它是由日志处理后得到的有具体含义的数据。</p>
<p><em>archive_*</em> 表中的每行数据包含一个网站给定的日期/时间段的数据。例如，提条记录idsite = 3的这个网站在2008年2月7日的这周访问网站用户的国家列表。</p>
<p>Piwik的存档中总共有两种不同的数据类型的表：float和blob</p>
<ul>
<li><em>archive_numeric_* </em>表是用来储存数值的。改字段值<strong>value</strong>使用的是FLOAT类型，即他可以保存整型和浮点数。比如储存给定时间点网站的访问者数。</li>
<li><em>archive_blob_*</em> 表用来储存出数字以外的其他任何数据。BLOB是二进制数据类型，可以用来任何数据，比如字符串、字符串转化的序列数组、序列化的对象等。例如用来储存用户在一定时间段内所有的关键词。</li>
</ul>
<p>事实上两个表都有相同的结构，除了<strong>value</strong> 字段的类型不同。他们同时包含以下字段：</p>
<ul>
<li><strong>idarchive</strong> 用来定义单独的存档。对于一个特殊的网站在一个特殊的时期内（特定的日期）会是相同的<strong>idarchive</strong>. 换句话说如果(<strong>idsite</strong>,<strong>period</strong>,<strong>date1</strong>,<strong>date2</strong>)相同，则<strong>idarchive</strong> 相同且为主键。</li>
<li><strong>name</strong> 是用来记录值<strong>value</strong> 的描述。例如你想储存不同关键词的数量，比较恰当的<strong>name</strong> 可以是&#8217;Referers_distinctKeywords&#8217;</li>
<li><strong>idsite</strong> 是记录所属的网站</li>
<li><strong>date1</strong> 和 <strong>date2</strong> 使记录的起始日期和结束日期，如果记录的是一天的数据则<strong>date1</strong> = <strong>date2</strong>.</li>
<li><strong>period</strong> 用来定义周期的类型有: day / week / month / year.</li>
<li><strong>ts_archived</strong> 是存档创建的时间戳。这个对确认存档是否还是有效很很大的帮助。比如今天的存档将会有效1小时或1分钟，这个取决于cache lifetime value的值。</li>
<li><strong>value</strong> 包含<strong>name</strong>描述的数据</li>
</ul>
<p>存档表里的每条记录都是由存档处理类进行自动处理的，其中存档处理有多个类：记录管理的是Piwik_ArchiveProcessing_Record_Manager，数值记录的Piwik_ArchiveProcessing_Record_Numeric，<br />
blob记录的是Piwik_ArchiveProcessing_Record_Blob和字符串blob记录的Piwik_ArchiveProcessing_Record_Blob_Array。</p>
<p>存档的逻辑可以在Piwik_ArchiveProcessing类中找到，按日存档可以从Piwik_ArchiveProcessing_Day类中找到，按时间点的存档可以从Piwik_ArchiveProcessing_Period类中找到。需要注意的是大多数实时处理的存档都是通过插件来执行特殊的事件。</p>
<p>加载存档（或加载处理中的存档）是使用Piwik_Archive类完成的。</p>
<p>从性能上考虑，表按月划分。这就意味着每个月新标就会创建，所以数据会被有规律的划分。如果值使用一张表来储存所有数据，它将变的非常的巨大且查询起来非常的缓慢。数据表划分由Piwik_TablePartitioning类进行处理，按月划分的由Piwik_TablePartitioning_Monthly类完成。</p>
<p>我们使用不同的表结构（FLOAT 和 BLOB）,因为它可以非常快速的查询整型/浮点数值。SQL查询会因为数据表非常的轻量(light)而非常的快（并且<em>archive_numeric_*</em> 的每行有固定的长度）。比如我们可以快速的查询最近30天的访客数。</p>
<p><strong>Debug / Info log</strong></p>
<p>表<em>logger_error</em>, <em>logger_message</em>, <em>logger_api_call</em> 和 <em>logger_exception </em>是用来记录各种各样信息的。</p>
<ul>
<li><em>logger_error</em> 是用来记录错误信息。<strong>message</strong> 中包含<strong>line</strong>, php file <strong>errfile</strong>, <strong>backtrace</strong>。等。</li>
<li><em>logger_message</em> 是用来记录所有的调试和系统信息的。</li>
<li><em>logger_api_call</em> 是用来记录所有的API请求的。他会记录所有的请求参数(<strong>parameter_values</strong>)和返回的值(<strong>returned_value</strong>)、执行时间（<strong>execution_time</strong>）和请求地址的IP地址（<strong>caller_ip</strong>）等。这个信息又来使API请求更加的具体，当返回的值（<strong>returned_value</strong>）不正确的时候用于调试，监测API接口 的使用情况等。</li>
<li><em>logger_exception</em> 是用来记录所有的异常的。</li>
</ul>
<p>而整体的逻辑控制是由Piwik_Log来完成的。</p>
<p><strong>SQL query profiling</strong></p>
<p>表log_profiling是用来储存SQL查询的概要信息的。</p>
<p><strong>其他</strong></p>
<p><strong>注意：</strong>所有的时间戳都是由PHP生成的，而不是使用Mysql自带的NOW(), CURRENT_DATE()等函数。这是用来确保系统使用不同时间的服务器上的MySQL正常的运行。程序不是基于MySQL服务器的时间的。</p>
<p><strong>未来的改进与优化</strong></p>
<p>整个系统目前还存在很多性能改进的空间。比如，我们可以从以下几个方面进行改进。</p>
<ul>
<li>按日期划分<em>log_* </em>表（和archive_* 采用相同的处理方式）</li>
<li>审核大数据量下存档数据的SQL查询。</li>
<li>审核所有的索引策略。</li>
<li>为了避免大量的jions连接(<em>log_visit</em>, <em>log_link_visit_action</em>)，我们可以通过复制(<strong>idsite</strong>, <strong>visit_server_date</strong>)字段使数据表非规范化。</li>
</ul>
<p>如需了解更多的Piwik的原理和逻辑，请持续关注<a href="http://www.biaodianfu.com/" target="_blank">标点符</a>。</p>
<p>参考文章：<a href="http://piwik.org/docs/plugins/database-schema/">http://piwik.org/docs/plugins/database-schema/</a></p>
<p>Related posts:<ol>
<li><a href='http://www.biaodianfu.com/data-warehouse-source-data.html' rel='bookmark' title='数据仓库的源数据类型'>数据仓库的源数据类型</a></li>
<li><a href='http://www.biaodianfu.com/smarty-php-template-programming-and-applications.html' rel='bookmark' title='《Smarty PHP Template Programming and Applications》PDF电子书'>《Smarty PHP Template Programming and Applications》PDF电子书</a></li>
<li><a href='http://www.biaodianfu.com/wordpress-2-7-complete.html' rel='bookmark' title='《WordPress 2.7 Complete》PDF下载'>《WordPress 2.7 Complete》PDF下载</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.biaodianfu.com/piwik-database-schema.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>淘宝搜索：定向抓取网页技术漫谈</title>
		<link>http://www.biaodianfu.com/taobao-crawler-introduction.html</link>
		<comments>http://www.biaodianfu.com/taobao-crawler-introduction.html#comments</comments>
		<pubDate>Thu, 07 Jul 2011 15:04:47 +0000</pubDate>
		<dc:creator>标点符</dc:creator>
				<category><![CDATA[程序测试]]></category>
		<category><![CDATA[抓取]]></category>

		<guid isPermaLink="false">http://www.biaodianfu.com/?p=3965</guid>
		<description><![CDATA[网络爬虫（web crawler）又称为网络蜘蛛（web spider）是一段计算机程序，它从互联网上按照一定的逻辑和算法抓取和下载互联网的网页,是搜索引擎的一个重要组成部分。一般的爬虫从一部分start url开始，按照一定的策略开始爬取，爬取到的新的url在放入到爬取队列之中，然后进行新一轮的爬取，直到抓取完毕为止。 我们看一下crawler一般会遇到什么样的问题吧： 抓取的网页量很大 网页更新量也很大，一般的网站，比如新闻，电子商务网站，页面基本是实时更新的 大部分的网页都是动态的，多媒体，或者封闭的（需要登录才能查看） 海量网页的存在就意味着在一定时间之内，抓取只能的抓取其中的一部分，因此需要定义清楚抓取的优先级；网页更新的频繁，也就意味着需要抓取最新的网页和保证链接的有效性，因此一个更有可能带来新网页的列表页显得尤为重要；对于新闻网站，新的网站一般出现在首页，或者在指定的分类网页，但是对于淘宝来说，商品的更新就很难估计了；动态网页怎么办呢？现在的网页大都有JS和AJAX，抓取已经不是简单的执行wget下载，现代的网页结构需要我们的爬虫更加智能，需要更灵活的应对网页的各种情况。 因此，对一个通用的爬虫个，我们要定义 抓取策略，那些网页是我们需要去下载的，那些是无需下载的，那些网页是我们优先下载的，定义清楚之后，能节省很多无谓的爬取 更新策略，监控列表页来发现新的页面；定期check页面是否过期等等 抽取策略，我们应该如何的从网页中抽取我们想要的内容，不仅仅包含最终的目标内容，还有下一步要抓取的url 抓取频率，我们需要合理的去下载一个网站，却又不失效率 抓取策略 使用URL的正则特征是一个简单但却很高效的模式；对于定向抓取，一般的网站的URL有一定的特征，比如可能仅仅关心 .html, .htm, .asp, .aspx, .php, .jsp, .jspx类型的网页；或者是如果可以得到目标网站的正则，则可以大大的降低抓取的数量；又或者我们无需关心某一类网页，比如我们不抓取bbs.taobao.com下面的内容；仅仅需要抓取淘宝的商品页面（http://item.taobao.com/item.htm?id=\d+ ）。通过URL的正则能极大的降低抓取数量； 也可以通过网页的文本特征来确定；不过要复杂得多了，一般需要一定数量已知页面的训练集合，然后提取页面的文本特征，然后通过向量空间模型或者其其他基于主题词提取的模型计算目标网页和训练集网页的距离，决定是否是目标网页。 更新策略 Freshness：表示抓取到的网页是否已经被修改 Age：表示抓取的网页过期的时间 对于更新来说，目标是让平均age时间越小，freshness越高；一般的更新策略有两种：定期批量更新和按更新周期更新；定期批量更新指对一批URL，按照失效时间定期去刷新，按周期更新指的是按照页面更新变化频率而修正是更新频率，一般来说，更新越频繁的网页更新也就越快。 抽取策略： XPATH是一个简单直观，但是很有效的一个方案，XPATH能精准的定位网页的任意一个位置，意味着我们可以很精准的抽取页面上的任意位置，当面临很多网站的时候，当然配置XPATH就是一个很艰巨的任务，也许存在一个自适应的XPATH识别的方法。 JS和AJAX 在java下面，HtmlUnit是一个不错的解决方案，HtmlUnit是Junit 的扩展测试框架之一，该框架模拟浏览器的行为，开发者可以使用其提供的API对页面的元素进行操作，套用官方网站的话HtmlUnit“是Java程序的浏览器”。HtmlUnit支持HTTP，HTTPS，COOKIE，表单的POST和GET方法，能够对HTML文档进行包装，页面的各种元素都可以被当作对象进行调用，另外对JavaScript的支持也比较好。一般来说，HtmlUnit是在java环境下解决JS的很好的选择 WebKit包含一个网页引擎WebCore和一个脚本引擎JavaScriptCore，它们分别对应的是KDE的KHTML和KJS；目前比较主流的浏览器Google Chrome和Apple的safari，都是基于WebKit的内核写的。使用浏览器作为抓取能更好的模拟用户浏览的行为，能够天然的解决JS和AJAX等问题，问题可能就是性能是一个瓶颈。 抓取频率 同时开启N个线程抓取一个网站，相信很快就会被对方网站封掉；因此抓取的频率也很重要；抓取网站同时不对对方网站造成压力；在robot.txt协议里面定义Crawl-delay来确定抓取的频率也是一种网站的通用的做法，对于一般的抓取而言，10到20秒抓取一次是一个比较保险的频率，也有提出10*t的抓取间隔（t是download时间）比较合理 定向抓取的框架 通用抓取架构，如下图 多线程下载模块（Multi-threaded downloader） 该模块一般包含： 下载模块，下载网页，并应对一些web的一些错误，包括redirect等等 DNS解析模块，网页数量很多的时候，我们需要一个本地的DNS解析模块来维护domain到IP的映射 链接抽取模块，抽取下一步要抓取的链接（follow link） 调度模块（schedule） 调度模块是抓取系统的核心，调度模块从url队列里面选择一批url喂到下载模块下载；其中会涉及到 url调度，调度模块按照一定的策略，选取url进入抓取系统 url除重，一定时期之内已经抓取的网页，不再抓取 原始文章：http://www.searchtb.com/2011/01/an-introduction-to-crawler.html Related posts: 电子商务中的SPU及SKU学习 淘宝站内搜索的优化 [...]]]></description>
			<content:encoded><![CDATA[<p>网络爬虫（web crawler）又称为网络蜘蛛（web spider）是一段计算机程序，它从互联网上按照一定的逻辑和算法抓取和下载互联网的网页,是搜索引擎的一个重要组成部分。一般的爬虫从一部分start url开始，按照一定的策略开始爬取，爬取到的新的url在放入到爬取队列之中，然后进行新一轮的爬取，直到抓取完毕为止。</p>
<p>我们看一下crawler一般会遇到什么样的问题吧：</p>
<ol>
<li>抓取的网页量很大</li>
<li>网页更新量也很大，一般的网站，比如新闻，电子商务网站，页面基本是实时更新的</li>
<li>大部分的网页都是动态的，多媒体，或者封闭的（需要登录才能查看）</li>
</ol>
<p>海量网页的存在就意味着在一定时间之内，抓取只能的抓取其中的一部分，因此需要定义清楚抓取的优先级；网页更新的频繁，也就意味着需要抓取最新的网页和保证链接的有效性，因此一个更有可能带来新网页的列表页显得尤为重要；对于新闻网站，新的网站一般出现在首页，或者在指定的分类网页，但是对于淘宝来说，商品的更新就很难估计了；动态网页怎么办呢？现在的网页大都有JS和AJAX，抓取已经不是简单的执行wget下载，现代的网页结构需要我们的爬虫更加智能，需要更灵活的应对网页的各种情况。</p>
<p>因此，对一个通用的爬虫个，我们要定义</p>
<ol>
<li>抓取策略，那些网页是我们需要去下载的，那些是无需下载的，那些网页是我们优先下载的，定义清楚之后，能节省很多无谓的爬取</li>
<li>更新策略，监控列表页来发现新的页面；定期check页面是否过期等等</li>
<li>抽取策略，我们应该如何的从网页中抽取我们想要的内容，不仅仅包含最终的目标内容，还有下一步要抓取的url</li>
<li>抓取频率，我们需要合理的去下载一个网站，却又不失效率</li>
</ol>
<p><strong>抓取策略</strong></p>
<p>使用URL的正则特征是一个简单但却很高效的模式；对于定向抓取，一般的网站的URL有一定的特征，比如可能仅仅关心 .html, .htm, .asp, .aspx, .php, .jsp, .jspx类型的网页；或者是如果可以得到目标网站的正则，则可以大大的降低抓取的数量；又或者我们无需关心某一类网页，比如我们不抓取bbs.taobao.com下面的内容；仅仅需要抓取淘宝的商品页面（http://item.taobao.com/item.htm?id=\d+ ）。通过URL的正则能极大的降低抓取数量；</p>
<p>也可以通过网页的文本特征来确定；不过要复杂得多了，一般需要一定数量已知页面的训练集合，然后提取页面的文本特征，然后通过向量空间模型或者其其他基于主题词提取的模型计算目标网页和训练集网页的距离，决定是否是目标网页。</p>
<p><strong>更新策略</strong></p>
<p>Freshness：表示抓取到的网页是否已经被修改</p>
<p><img class="alignnone size-full wp-image-3966" title="freshness" src="http://www.biaodianfu.com/wp-content/uploads/2011/07/freshness.png" alt="" width="458" height="63" /></p>
<p>Age：表示抓取的网页过期的时间</p>
<p><img class="alignnone size-full wp-image-3967" title="age" src="http://www.biaodianfu.com/wp-content/uploads/2011/07/age.png" alt="" width="579" height="60" /></p>
<p>对于更新来说，目标是让平均age时间越小，freshness越高；一般的更新策略有两种：定期批量更新和按更新周期更新；定期批量更新指对一批URL，按照失效时间定期去刷新，按周期更新指的是按照页面更新变化频率而修正是更新频率，一般来说，更新越频繁的网页更新也就越快。</p>
<p><strong>抽取策略：</strong></p>
<p>XPATH是一个简单直观，但是很有效的一个方案，XPATH能精准的定位网页的任意一个位置，意味着我们可以很精准的抽取页面上的任意位置，当面临很多网站的时候，当然配置XPATH就是一个很艰巨的任务，也许存在一个自适应的XPATH识别的方法。</p>
<p><strong>JS</strong><strong>和AJAX</strong></p>
<p>在java下面，<a href="http://htmlunit.sourceforge.net/">HtmlUnit</a>是一个不错的解决方案，HtmlUnit是Junit 的扩展测试框架之一，该框架模拟浏览器的行为，开发者可以使用其提供的API对页面的元素进行操作，套用官方网站的话HtmlUnit“是Java程序的浏览器”。HtmlUnit支持HTTP，HTTPS，COOKIE，表单的POST和GET方法，能够对HTML文档进行包装，页面的各种元素都可以被当作对象进行调用，另外对JavaScript的支持也比较好。一般来说，HtmlUnit是在java环境下解决JS的很好的选择</p>
<p>WebKit包含一个网页引擎WebCore和一个脚本引擎JavaScriptCore，它们分别对应的是KDE的<a title="KHTML" href="http://zh.wikipedia.org/wiki/KHTML">KHTML</a>和<a title="KJS" href="http://zh.wikipedia.org/wiki/KJS">KJS</a>；目前比较主流的浏览器Google Chrome和Apple的safari，都是基于WebKit的内核写的。使用浏览器作为抓取能更好的模拟用户浏览的行为，能够天然的解决JS和AJAX等问题，问题可能就是性能是一个瓶颈。</p>
<p><strong>抓取频率</strong></p>
<p>同时开启N个线程抓取一个网站，相信很快就会被对方网站封掉；因此抓取的频率也很重要；抓取网站同时不对对方网站造成压力；在robot.txt协议里面定义Crawl-delay来确定抓取的频率也是一种网站的通用的做法，对于一般的抓取而言，10到20秒抓取一次是一个比较保险的频率，也有提出10*t的抓取间隔（t是download时间）比较合理</p>
<p>定向抓取的框架</p>
<p>通用抓取架构，如下图</p>
<p><img class="alignnone size-full wp-image-3968" title="crawler" src="http://www.biaodianfu.com/wp-content/uploads/2011/07/crawler.png" alt="" width="500" height="382" /></p>
<p><strong>多线程下载模块（Multi-threaded downloader）</strong></p>
<p>该模块一般包含：</p>
<ol>
<li>下载模块，下载网页，并应对一些web的一些错误，包括redirect等等</li>
<li>DNS解析模块，网页数量很多的时候，我们需要一个本地的DNS解析模块来维护domain到IP的映射</li>
<li>链接抽取模块，抽取下一步要抓取的链接（follow link）</li>
</ol>
<p><strong>调度模块（schedule）</strong></p>
<p>调度模块是抓取系统的核心，调度模块从url队列里面选择一批url喂到下载模块下载；其中会涉及到</p>
<ol>
<li>url调度，调度模块按照一定的策略，选取url进入抓取系统</li>
<li>url除重，一定时期之内已经抓取的网页，不再抓取</li>
</ol>
<p>原始文章：<a href="http://www.searchtb.com/2011/01/an-introduction-to-crawler.html">http://www.searchtb.com/2011/01/an-introduction-to-crawler.html</a></p>
<p>Related posts:<ol>
<li><a href='http://www.biaodianfu.com/spu-sku.html' rel='bookmark' title='电子商务中的SPU及SKU学习'>电子商务中的SPU及SKU学习</a></li>
<li><a href='http://www.biaodianfu.com/taobao-seo.html' rel='bookmark' title='淘宝站内搜索的优化'>淘宝站内搜索的优化</a></li>
<li><a href='http://www.biaodianfu.com/wangluo-dianshi.html' rel='bookmark' title='网络电视 网络电影 网络电台 合集'>网络电视 网络电影 网络电台 合集</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.biaodianfu.com/taobao-crawler-introduction.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WordPress评论翻页造成404页面的解决方案</title>
		<link>http://www.biaodianfu.com/wordpress-comment-page-not-found.html</link>
		<comments>http://www.biaodianfu.com/wordpress-comment-page-not-found.html#comments</comments>
		<pubDate>Mon, 09 May 2011 13:30:02 +0000</pubDate>
		<dc:creator>标点符</dc:creator>
				<category><![CDATA[程序测试]]></category>
		<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://www.biaodianfu.com/?p=3706</guid>
		<description><![CDATA[在Google网站管理员后台，发现了偶的网站有大量的404页面存在。发现问题原来处在了WordPress自带的评论翻页上。具体出错情况如下。   仔细检查了一遍，发现问题出在了评论模块上，仔细检查了模板的代码，发现不是模板问题。网上查询了下，发现还是由很多人与我遇到相同的问题。下面是我梳理的解决方案，期望对那些和我有同样问题的朋友有所帮助。 解决方案一： 修改WordPress后台设置，将评论翻页功能去掉，此方案有一点不好就是如果你的博客非常的受欢迎，博客上有大量的评论，那么最好不要这么做。因为如果不翻页，你的博客文章打开会非常非常的慢。 方法很简单，将上图中红框标出的部分勾选去掉就可以了。 解决方案二： 修改.htaccess进行页面重定向，主要问题： 百度对301跳转的反应很慢。 具体的RewriteRule可以使用下面两种方式的一种： #仅重定向第一页 RewriteRule ^(.*)/comment-page-1/ $1/ [R=301,L] #将所有评论页都重定向（个人建议使用这种哈） RewriteRule ^.*/comment-page-.* $1/ [R=301,L] 解决方案三： 禁止robots爬起，修改robots.txt文件，在robots.txt添加中添加 Disallow:*/comment-page-1。此方法不是很好，因为一旦用户点击，还是会出现404页面。 解决方案四： 修改WordPress源文件，暂时还没研究出来，等研究出来再做补充。 Related posts: 百度站长俱乐部301跳转相关问题 ISAPI Rewrite 3 ,IIS服务器URL重写模块 SEO问题之重复内容如何解决]]></description>
			<content:encoded><![CDATA[<p>在Google网站管理员后台，发现了偶的网站有大量的404页面存在。发现问题原来处在了WordPress自带的评论翻页上。具体出错情况如下。</p>
<p> <img class="alignnone size-full wp-image-3712" title="comment-page-404" src="http://www.biaodianfu.com/wp-content/uploads/2011/05/comment-page-404.png" alt="" width="559" height="207" /></p>
<p>仔细检查了一遍，发现问题出在了评论模块上，仔细检查了模板的代码，发现不是模板问题。网上查询了下，发现还是由很多人与我遇到相同的问题。下面是我梳理的解决方案，期望对那些和我有同样问题的朋友有所帮助。</p>
<p><img class="alignnone size-full wp-image-3713" title="comment-page-1" src="http://www.biaodianfu.com/wp-content/uploads/2011/05/comment-page-1.png" alt="" width="555" height="201" /></p>
<p><strong>解决方案一：</strong></p>
<p>修改WordPress后台设置，将评论翻页功能去掉，此方案有一点不好就是如果你的博客非常的受欢迎，博客上有大量的评论，那么最好不要这么做。因为如果不翻页，你的博客文章打开会非常非常的慢。</p>
<p><img class="alignnone size-full wp-image-3714" title="comment-config" src="http://www.biaodianfu.com/wp-content/uploads/2011/05/comment-config.png" alt="" width="524" height="160" /></p>
<p>方法很简单，将上图中红框标出的部分勾选去掉就可以了。</p>
<p><strong>解决方案二：</strong></p>
<p>修改.htaccess进行页面重定向，主要问题： 百度对301跳转的反应很慢。</p>
<p>具体的<code>RewriteRule</code>可以使用下面两种方式的一种：</p>
<p>#仅重定向第一页</p>
<p><code>RewriteRule ^(.*)/comment-page-1/ $1/ [R=301,L]</code></p>
<p>#将所有评论页都重定向（个人建议使用这种哈）</p>
<p><code>RewriteRule ^.*/comment-page-.* $1/ [R=301,L]</code></p>
<p><strong><code>解决方案三：</code></strong></p>
<p><code>禁止robots爬起，修改robots.txt文件，在robots.txt添加中添加 Disallow:*/comment-page-1。此方法不是很好，因为一旦用户点击，还是会出现404页面。</code></p>
<p><strong>解决方案四：</strong></p>
<p>修改WordPress源文件，暂时还没研究出来，等研究出来再做补充。</p>
<p>Related posts:<ol>
<li><a href='http://www.biaodianfu.com/baidu-seo-301-questions.html' rel='bookmark' title='百度站长俱乐部301跳转相关问题'>百度站长俱乐部301跳转相关问题</a></li>
<li><a href='http://www.biaodianfu.com/isapi-rewrite-3.html' rel='bookmark' title='ISAPI Rewrite 3 ,IIS服务器URL重写模块'>ISAPI Rewrite 3 ,IIS服务器URL重写模块</a></li>
<li><a href='http://www.biaodianfu.com/duplicate-content.html' rel='bookmark' title='SEO问题之重复内容如何解决'>SEO问题之重复内容如何解决</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.biaodianfu.com/wordpress-comment-page-not-found.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>WordPress永久链接(URL)的设计</title>
		<link>http://www.biaodianfu.com/wordpress-url-design.html</link>
		<comments>http://www.biaodianfu.com/wordpress-url-design.html#comments</comments>
		<pubDate>Tue, 08 Feb 2011 05:23:49 +0000</pubDate>
		<dc:creator>标点符</dc:creator>
				<category><![CDATA[程序测试]]></category>
		<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://www.biaodianfu.com/?p=3252</guid>
		<description><![CDATA[WordPress的永久链接功能可以让你轻松的改变网址结构，使用WordPress永久链接功能改写URL的主要目的为： 增加可读性及让读者通过URL就能知道文章内容 是链接对搜索引擎更加友好，起到SEO的作用 让文章更加容易存档或分类 在设置永久链接前，最好先阅读下优秀的URL不会改变。永久链接之所以叫做永久链接，因为他不应该在后期再做改变，你需要在搭建WordPress的时候就将URL确定下来。 目前大多数的WordPress主要使用以下三种链接 domain.com/?p=123 domain.com/category-name/post-name/ domain.com/2012/12/21/post-name 上面的那些URL并不是完美的，大都存在着这样那样的缺陷。 #1 第一种链接非常的短，且不使用任何重写。但是相比这样的链接（domain.com/hot-girls-naked）你更愿意点击哪个呢？ #2 当你的某一篇文章属于多个分类时，你无法选择到底显示哪个分类名称，除此之外，URL最后的”/”并不是一个真实的目录 #3 一个非常好的示范，但是中间的日期是否是真的有意义？ 再来看看我博客的URL：http://www.biaodianfu.com/wordpress-url-design.html 我比较喜欢这样简单的URL，虽然后面的.html是多余的（为了在服务器上生成静态的html文件而添加的），但是这样的URL是完全取决于文章内容，如果文章内容改变了，那么URL是不能跟着改变的。且相同的主题需要想另外一个URL。 另外在WordPress中尼可以使用任何后缀名来结束URL，比如domain.com/omg.orz 这样的URL。 具体的URL应该怎么选择全凭自己喜好，写这篇文章唯一的目的就是期望你在建立WordPress前想好你的URL结构。 以下为WordPress永久链接中可以使用的参数： %year% %monthnum% %day% %hour%  %minute% %second% 日志发表时间中年、月、日、时、分、秒 %postname% 这里的日志名称并不是日志的标题，而是可以单独进行设置的日志名称字段 %post_id% 日志在数据库中的记录ID %category%日志所属分类，当日志含有多个分类时显示ID最好的分类 %author% 日志作者 相关链接：http://codex.wordpress.org/Using_Permalinks Related posts: 《Building a WordPress Blog People Want to Read》PDF下载 百度站长俱乐部重复页面相关问题 百度site指令查收录的问题汇总]]></description>
			<content:encoded><![CDATA[<p>WordPress的永久链接功能可以让你轻松的改变网址结构，使用WordPress永久链接功能改写URL的主要目的为：</p>
<ul>
<li>增加可读性及让读者通过URL就能知道文章内容</li>
<li>是链接对搜索引擎更加友好，起到SEO的作用</li>
<li>让文章更加容易存档或分类</li>
</ul>
<p>在设置永久链接前，最好先阅读下<a href="http://www.biaodianfu.com/cool-uris-dont-change.html">优秀的URL不会改变</a>。永久链接之所以叫做永久链接，因为他不应该在后期再做改变，你需要在搭建WordPress的时候就将URL确定下来。</p>
<p><img title="wordpress-url" src="http://www.biaodianfu.com/wp-content/uploads/2011/02/wordpress-url.png" alt="" width="593" height="540" /></p>
<p>目前大多数的WordPress主要使用以下三种链接</p>
<ol>
<li>domain.com/?p=123</li>
<li>domain.com/category-name/post-name/</li>
<li>domain.com/2012/12/21/post-name</li>
</ol>
<p>上面的那些URL并不是完美的，大都存在着这样那样的缺陷。</p>
<p>#1 第一种链接非常的短，且不使用任何重写。但是相比这样的链接（domain.com/hot-girls-naked）你更愿意点击哪个呢？</p>
<p>#2 当你的某一篇文章属于多个分类时，你无法选择到底显示哪个分类名称，除此之外，URL最后的”/”并不是一个真实的目录</p>
<p>#3 一个非常好的示范，但是中间的日期是否是真的有意义？</p>
<p>再来看看我博客的URL：<a href="http://www.biaodianfu.com/wordpress-url-design.html">http://www.biaodianfu.com/wordpress-url-design.html</a></p>
<p>我比较喜欢这样简单的URL，虽然后面的.html是多余的（为了在服务器上生成静态的html文件而添加的），但是这样的URL是完全取决于文章内容，如果文章内容改变了，那么URL是不能跟着改变的。且相同的主题需要想另外一个URL。</p>
<p>另外在WordPress中尼可以使用任何后缀名来结束URL，比如domain.com/omg.orz 这样的URL。</p>
<p>具体的URL应该怎么选择全凭自己喜好，写这篇文章唯一的目的就是期望你在建立WordPress前想好你的URL结构。</p>
<p><strong>以下为WordPress永久链接中可以使用的参数：</strong></p>
<p>%year% %monthnum% %day% %hour%  %minute% %second% 日志发表时间中年、月、日、时、分、秒</p>
<p>%postname% 这里的日志名称并不是日志的标题，而是可以单独进行设置的日志名称字段</p>
<p>%post_id% 日志在数据库中的记录ID</p>
<p>%category%日志所属分类，当日志含有多个分类时显示ID最好的分类</p>
<p>%author% 日志作者</p>
<p>相关链接：<a href="http://codex.wordpress.org/Using_Permalinks">http://codex.wordpress.org/Using_Permalinks</a></p>
<p>Related posts:<ol>
<li><a href='http://www.biaodianfu.com/building-a-wordpress-blog-people-want-to-read.html' rel='bookmark' title='《Building a WordPress Blog People Want to Read》PDF下载'>《Building a WordPress Blog People Want to Read》PDF下载</a></li>
<li><a href='http://www.biaodianfu.com/baidu-seo-duplication-questions.html' rel='bookmark' title='百度站长俱乐部重复页面相关问题'>百度站长俱乐部重复页面相关问题</a></li>
<li><a href='http://www.biaodianfu.com/baidu-site-index.html' rel='bookmark' title='百度site指令查收录的问题汇总'>百度site指令查收录的问题汇总</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.biaodianfu.com/wordpress-url-design.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WordPress 创造的辉煌</title>
		<link>http://www.biaodianfu.com/wordpress-power.html</link>
		<comments>http://www.biaodianfu.com/wordpress-power.html#comments</comments>
		<pubDate>Fri, 17 Dec 2010 10:23:28 +0000</pubDate>
		<dc:creator>标点符</dc:creator>
				<category><![CDATA[程序测试]]></category>
		<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://www.biaodianfu.com/?p=3038</guid>
		<description><![CDATA[互联网世界里的WordPress 在Alexa排名前100万的网站里，有22.5%使用CMS发布内容。在这22.5%中： WordPress用户占55.3% Joomla用户占10.8% Drupal用户占6.3% Blogger用户占2.7% 剩下的是其它知名度相对较低的CMS系统。 WordPress用户统计 截止2010年9月，全球有超过2700万用户使用WordPress发布信息，这其中1390万人使用wordpress.com博客，1380万人安装来自WordPress.org的WordPress软件。（以上数字仅是对托管在WordPress.com上所有博客的统计。） WordPress版本 在所有WordPress用户中，有42.9%使用WordPress 3.x版本，57%的用户仍然在使用2.x版本。此外，居然还有0.1%的用户在使用1.x版本，这是怎样的一种精神？ WordPress涉及的语言 WordPress博客涉及120多种语言。在WordPress博客上使用最多的前五种语言是：英语（66%）、西班牙语（8.7%）、葡萄牙语（6.5%）、印度尼西亚语（3.5%）、意大利语（2%）。然后依次是德语、土耳其语、法语、俄罗斯语、越南语、瑞典语。 看来WordPress在中国互联网上表现还不算出色。 WordPress的每日用户活动量 平均每天新增WordPress文章35万篇、评论40万条 WordPress相关数据 截止2010年11月，WordPress 3.0下载次数达23211650次，现有插件12000余款，主题1285余个。 （与10月相比，可以看出明显的数据变化。） WordPress在Google 1000强网站里的表现 在Google评出的互联网上被访问次数最多的1000个网站里，2010年9月WordPress.com的独立访客达9600万人次，页面访问量11亿次。 在这1000个网站里，WordPress.com排名第15位，博客服务类网站第一位。 原文出处：http://www.wordpress.la/wordress-situation.html Related posts: 《Building a WordPress Blog People Want to Read》PDF下载 WordPress永久链接(URL)的设计 《How To Be A Rockstar WordPress Designer》]]></description>
			<content:encoded><![CDATA[<p><strong><a href="http://www.biaodianfu.com/wp-content/uploads/2010/12/POWordpress-v4-1000.jpg"><img class="alignnone size-full wp-image-3039" title="POWordpress-v4-1000" src="http://www.biaodianfu.com/wp-content/uploads/2010/12/POWordpress-v4-1000.jpg" alt="" width="600" height="3138" /></a></strong></p>
<p><strong>互联网世界里的WordPress</strong></p>
<p>在Alexa排名前100万的网站里，有22.5%使用CMS发布内容。在这22.5%中：</p>
<ul>
<li>WordPress用户占55.3%</li>
<li>Joomla用户占10.8%</li>
<li>Drupal用户占6.3%</li>
<li>Blogger用户占2.7%</li>
</ul>
<p>剩下的是其它知名度相对较低的CMS系统。</p>
<p><strong>WordPress用户统计</strong></p>
<p>截止2010年9月，全球有超过2700万用户使用WordPress发布信息，这其中1390万人使用wordpress.com博客，1380万人安装来自WordPress.org的WordPress软件。（以上数字仅是对托管在WordPress.com上所有博客的统计。）</p>
<p><strong>WordPress版本</strong></p>
<p>在所有WordPress用户中，有42.9%使用WordPress 3.x版本，57%的用户仍然在使用2.x版本。此外，居然还有0.1%的用户在使用1.x版本，这是怎样的一种精神？</p>
<p><strong>WordPress涉及的语言</strong></p>
<p>WordPress博客涉及120多种语言。在WordPress博客上使用最多的前五种语言是：英语（66%）、西班牙语（8.7%）、葡萄牙语（6.5%）、印度尼西亚语（3.5%）、意大利语（2%）。然后依次是德语、土耳其语、法语、俄罗斯语、越南语、瑞典语。</p>
<p>看来WordPress在中国互联网上表现还不算出色。</p>
<p><strong>WordPress的每日用户活动量</strong></p>
<p>平均每天新增WordPress文章35万篇、评论40万条</p>
<p><strong>WordPress相关数据</strong></p>
<p>截止2010年11月，WordPress 3.0下载次数达23211650次，现有插件12000余款，主题1285余个。</p>
<p>（与10月相比，可以看出明显的数据变化。）</p>
<p><strong>WordPress在Google 1000强网站里的表现</strong></p>
<p>在Google评出的互联网上被访问次数最多的1000个网站里，2010年9月WordPress.com的独立访客达9600万人次，页面访问量11亿次。</p>
<p>在这1000个网站里，WordPress.com排名第15位，博客服务类网站第一位。</p>
<p>原文出处：<a href="http://www.wordpress.la/wordress-situation.html">http://www.wordpress.la/wordress-situation.html</a></p>
<p>Related posts:<ol>
<li><a href='http://www.biaodianfu.com/building-a-wordpress-blog-people-want-to-read.html' rel='bookmark' title='《Building a WordPress Blog People Want to Read》PDF下载'>《Building a WordPress Blog People Want to Read》PDF下载</a></li>
<li><a href='http://www.biaodianfu.com/wordpress-url-design.html' rel='bookmark' title='WordPress永久链接(URL)的设计'>WordPress永久链接(URL)的设计</a></li>
<li><a href='http://www.biaodianfu.com/how-to-be-a-rockstar-wordpress-designer.html' rel='bookmark' title='《How To Be A Rockstar WordPress Designer》'>《How To Be A Rockstar WordPress Designer》</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.biaodianfu.com/wordpress-power.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WordPress 2.7 数据字典</title>
		<link>http://www.biaodianfu.com/wordpress-datebase.html</link>
		<comments>http://www.biaodianfu.com/wordpress-datebase.html#comments</comments>
		<pubDate>Sun, 23 May 2010 10:03:07 +0000</pubDate>
		<dc:creator>标点符</dc:creator>
				<category><![CDATA[程序测试]]></category>
		<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[数据字典]]></category>

		<guid isPermaLink="false">http://www.biaodianfu.com/?p=2153</guid>
		<description><![CDATA[wp_comments 字段 类型 Null 默认 注释 comment_ID bigint(20) 否 评论ID comment_post_ID int(11) 否 0 帖子ID comment_author tinytext 否 用户名 comment_author_email varchar(100) 否 邮箱 comment_author_url varchar(200) 否 网址 comment_author_IP varchar(100) 否 用户IP comment_date datetime 否 0000-00-00 00:00:00 评论时间 comment_date_gmt datetime 否 0000-00-00 00:00:00 评论gmt时间 comment_content text 否 评论内容 comment_karma int(11) 否 0 评论karma comment_approved varchar(20) 否 [...]]]></description>
			<content:encoded><![CDATA[<p><strong>wp_comments</strong></p>
<table border="0" cellpadding="0" width="101%">
<tbody>
<tr>
<td width="170">字段</td>
<td width="94">类型</td>
<td width="40">Null</td>
<td width="157">默认</td>
<td width="94">注释</td>
</tr>
<tr>
<td width="170">comment_ID</td>
<td width="94">bigint(20)</td>
<td width="40">否</td>
<td width="157"></td>
<td width="94">评论ID</td>
</tr>
<tr>
<td width="170">comment_post_ID</td>
<td width="94">int(11)</td>
<td width="40">否</td>
<td width="157">0</td>
<td width="94">帖子ID</td>
</tr>
<tr>
<td width="170">comment_author</td>
<td width="94">tinytext</td>
<td width="40">否</td>
<td width="157"></td>
<td width="94">用户名</td>
</tr>
<tr>
<td width="170">comment_author_email</td>
<td width="94">varchar(100)</td>
<td width="40">否</td>
<td width="157"></td>
<td width="94">邮箱</td>
</tr>
<tr>
<td width="170">comment_author_url</td>
<td width="94">varchar(200)</td>
<td width="40">否</td>
<td width="157"></td>
<td width="94">网址</td>
</tr>
<tr>
<td width="170">comment_author_IP</td>
<td width="94">varchar(100)</td>
<td width="40">否</td>
<td width="157"></td>
<td width="94">用户IP</td>
</tr>
<tr>
<td width="170">comment_date</td>
<td width="94">datetime</td>
<td width="40">否</td>
<td width="157">0000-00-00 00:00:00</td>
<td width="94">评论时间</td>
</tr>
<tr>
<td width="170">comment_date_gmt</td>
<td width="94">datetime</td>
<td width="40">否</td>
<td width="157">0000-00-00 00:00:00</td>
<td width="94">评论gmt时间</td>
</tr>
<tr>
<td width="170">comment_content</td>
<td width="94">text</td>
<td width="40">否</td>
<td width="157"></td>
<td width="94">评论内容</td>
</tr>
<tr>
<td width="170">comment_karma</td>
<td width="94">int(11)</td>
<td width="40">否</td>
<td width="157">0</td>
<td width="94">评论karma</td>
</tr>
<tr>
<td width="170">comment_approved</td>
<td width="94">varchar(20)</td>
<td width="40">否</td>
<td width="157">1</td>
<td width="94">评论审核</td>
</tr>
<tr>
<td width="170">comment_agent</td>
<td width="94">varchar(255)</td>
<td width="40">否</td>
<td width="157"></td>
<td width="94">评论代理</td>
</tr>
<tr>
<td width="170">comment_type</td>
<td width="94">varchar(20)</td>
<td width="40">否</td>
<td width="157"></td>
<td width="94">评论类型</td>
</tr>
<tr>
<td width="170">comment_parent</td>
<td width="94">bigint(20)</td>
<td width="40">否</td>
<td width="157">0</td>
<td width="94">评论上一级</td>
</tr>
<tr>
<td width="170">user_id</td>
<td width="94">bigint(20)</td>
<td width="40">否</td>
<td width="157">0</td>
<td width="94">用户ID</td>
</tr>
</tbody>
</table>
<p><strong> </strong></p>
<p><strong>wp_links</strong></p>
<table border="0" cellpadding="0" width="100%">
<tbody>
<tr>
<td width="50">字段</td>
<td width="80">类型</td>
<td width="40">Null</td>
<td width="70">默认</td>
<td>注释</td>
</tr>
<tr>
<td>link_id</td>
<td>bigint(20)</td>
<td>否</td>
<td></td>
<td>链接ID</td>
</tr>
<tr>
<td>link_url</td>
<td>varchar(255)</td>
<td>否</td>
<td></td>
<td>链接URL</td>
</tr>
<tr>
<td>link_name</td>
<td>varchar(255)</td>
<td>否</td>
<td></td>
<td>链接名字</td>
</tr>
<tr>
<td>link_image</td>
<td>varchar(255)</td>
<td>否</td>
<td></td>
<td>链接图</td>
</tr>
<tr>
<td>link_target</td>
<td>varchar(25)</td>
<td>否</td>
<td></td>
<td>链接打开方式</td>
</tr>
<tr>
<td>link_category</td>
<td>bigint(20)</td>
<td>否</td>
<td>0</td>
<td>链接类别</td>
</tr>
<tr>
<td>link_description</td>
<td>varchar(255)</td>
<td>否</td>
<td></td>
<td>链接描述</td>
</tr>
<tr>
<td>link_visible</td>
<td>varchar(20)</td>
<td>否</td>
<td>Y</td>
<td>链接是否可见</td>
</tr>
<tr>
<td>link_owner</td>
<td>int(11)</td>
<td>否</td>
<td>1</td>
<td>链接所有者</td>
</tr>
<tr>
<td>link_rating</td>
<td>int(11)</td>
<td>否</td>
<td>0</td>
<td>链接级别</td>
</tr>
<tr>
<td>link_updated</td>
<td>datetime</td>
<td>否</td>
<td>0000-00-00 00:00:00</td>
<td>链接更新</td>
</tr>
<tr>
<td>link_rel</td>
<td>varchar(255)</td>
<td>否</td>
<td></td>
<td>链接rel</td>
</tr>
<tr>
<td>link_notes</td>
<td>mediumtext</td>
<td>否</td>
<td></td>
<td>链接记录</td>
</tr>
<tr>
<td>link_rss</td>
<td>varchar(255)</td>
<td>否</td>
<td></td>
<td>链接RSS</td>
</tr>
</tbody>
</table>
<p><strong> </strong></p>
<p><strong>wp_options</strong></p>
<table border="0" cellpadding="0" width="100%">
<tbody>
<tr>
<td width="50">字段</td>
<td width="80">类型</td>
<td width="40">Null</td>
<td width="70">默认</td>
<td>注释</td>
</tr>
<tr>
<td>option_id</td>
<td>bigint(20)</td>
<td>否</td>
<td></td>
<td>配置ID</td>
</tr>
<tr>
<td>blog_id</td>
<td>int(11)</td>
<td>否</td>
<td>0</td>
<td>博客ID</td>
</tr>
<tr>
<td>option_name</td>
<td>varchar(64)</td>
<td>否</td>
<td></td>
<td>配置名</td>
</tr>
<tr>
<td>option_value</td>
<td>longtext</td>
<td>否</td>
<td></td>
<td>配置值</td>
</tr>
<tr>
<td>autoload</td>
<td>varchar(20)</td>
<td>否</td>
<td>yes</td>
<td>是否自动加载</td>
</tr>
</tbody>
</table>
<p><strong>wp_postmeta</strong></p>
<table border="0" cellpadding="0" width="100%">
<tbody>
<tr>
<td width="50">字段</td>
<td width="80">类型</td>
<td width="40">Null</td>
<td width="70">默认</td>
<td>注释</td>
</tr>
<tr>
<td>meta_id</td>
<td>bigint(20)</td>
<td>否</td>
<td></td>
<td>扩展ID</td>
</tr>
<tr>
<td>post_id</td>
<td>bigint(20)</td>
<td>否</td>
<td>0</td>
<td>贴子ID</td>
</tr>
<tr>
<td>meta_key</td>
<td>varchar(255)</td>
<td>是</td>
<td>NULL</td>
<td>扩展key</td>
</tr>
<tr>
<td>meta_value</td>
<td>longtext</td>
<td>是</td>
<td>NULL</td>
<td>扩展value</td>
</tr>
</tbody>
</table>
<p><strong>wp_posts</strong></p>
<table border="0" cellpadding="0" width="100%">
<tbody>
<tr>
<td width="50">字段</td>
<td width="80">类型</td>
<td width="40">Null</td>
<td width="70">默认</td>
<td>注释</td>
</tr>
<tr>
<td>ID</td>
<td>bigint(20)</td>
<td>否</td>
<td></td>
<td>标识符</td>
</tr>
<tr>
<td>post_author</td>
<td>bigint(20)</td>
<td>否</td>
<td>0</td>
<td>作者</td>
</tr>
<tr>
<td>post_date</td>
<td>datetime</td>
<td>否</td>
<td>0000-00-00 00:00:00</td>
<td>时间</td>
</tr>
<tr>
<td>post_date_gmt</td>
<td>datetime</td>
<td>否</td>
<td>0000-00-00 00:00:00</td>
<td>Gmt时间</td>
</tr>
<tr>
<td>post_content</td>
<td>longtext</td>
<td>否</td>
<td></td>
<td>内容</td>
</tr>
<tr>
<td>post_title</td>
<td>text</td>
<td>否</td>
<td></td>
<td>标题</td>
</tr>
<tr>
<td>post_category</td>
<td>int(4)</td>
<td>否</td>
<td>0</td>
<td>分类</td>
</tr>
<tr>
<td>post_excerpt</td>
<td>text</td>
<td>否</td>
<td></td>
<td>摘要</td>
</tr>
<tr>
<td>post_status</td>
<td>varchar(20)</td>
<td>否</td>
<td>publish</td>
<td>状态</td>
</tr>
<tr>
<td>comment_status</td>
<td>varchar(20)</td>
<td>否</td>
<td>open</td>
<td>评论是否打开</td>
</tr>
<tr>
<td>ping_status</td>
<td>varchar(20)</td>
<td>否</td>
<td>open</td>
<td>Ping状态</td>
</tr>
<tr>
<td>post_password</td>
<td>varchar(20)</td>
<td>否</td>
<td></td>
<td>查看密码</td>
</tr>
<tr>
<td>post_name</td>
<td>varchar(200)</td>
<td>否</td>
<td></td>
<td>贴子名</td>
</tr>
<tr>
<td>to_ping</td>
<td>text</td>
<td>否</td>
<td></td>
<td>ping</td>
</tr>
<tr>
<td>pinged</td>
<td>text</td>
<td>否</td>
<td></td>
<td>Ping结果</td>
</tr>
<tr>
<td>post_modified</td>
<td>datetime</td>
<td>否</td>
<td>0000-00-00 00:00:00</td>
<td>修改时间</td>
</tr>
<tr>
<td>post_modified_gmt</td>
<td>datetime</td>
<td>否</td>
<td>0000-00-00 00:00:00</td>
<td>修改gmt时间</td>
</tr>
<tr>
<td>post_content_filtered</td>
<td>text</td>
<td>否</td>
<td></td>
<td>评论过滤</td>
</tr>
<tr>
<td>post_parent</td>
<td>bigint(20)</td>
<td>否</td>
<td>0</td>
<td>贴子上一级</td>
</tr>
<tr>
<td>guid</td>
<td>varchar(255)</td>
<td>否</td>
<td></td>
<td>组</td>
</tr>
<tr>
<td>menu_order</td>
<td>int(11)</td>
<td>否</td>
<td>0</td>
<td>菜单顺序</td>
</tr>
<tr>
<td>post_type</td>
<td>varchar(20)</td>
<td>否</td>
<td>post</td>
<td>贴子类型</td>
</tr>
<tr>
<td>post_mime_type</td>
<td>varchar(100)</td>
<td>否</td>
<td></td>
<td></td>
</tr>
<tr>
<td>comment_count</td>
<td>bigint(20)</td>
<td>否</td>
<td>0</td>
<td>评论数</td>
</tr>
</tbody>
</table>
<p><strong>wp_term_relationships</strong></p>
<table border="0" cellpadding="0" width="100%">
<tbody>
<tr>
<td width="50">字段</td>
<td width="80">类型</td>
<td width="40">Null</td>
<td width="70">默认</td>
<td>注释</td>
</tr>
<tr>
<td>object_id</td>
<td>bigint(20)</td>
<td>否</td>
<td>0</td>
<td>标识符</td>
</tr>
<tr>
<td>term_taxonomy_id</td>
<td>bigint(20)</td>
<td>否</td>
<td>0</td>
<td>选项分类ID</td>
</tr>
<tr>
<td>term_order</td>
<td>int(11)</td>
<td>否</td>
<td>0</td>
<td>排序</td>
</tr>
</tbody>
</table>
<p><strong>wp_term_taxonomy</strong></p>
<table border="0" cellpadding="0" width="100%">
<tbody>
<tr>
<td width="50">字段</td>
<td width="80">类型</td>
<td width="40">Null</td>
<td width="70">默认</td>
<td>注释</td>
</tr>
<tr>
<td>term_taxonomy_id</td>
<td>bigint(20)</td>
<td>否</td>
<td></td>
<td>选项分类ID</td>
</tr>
<tr>
<td>term_id</td>
<td>bigint(20)</td>
<td>否</td>
<td>0</td>
<td>选项ID</td>
</tr>
<tr>
<td>taxonomy</td>
<td>varchar(32)</td>
<td>否</td>
<td></td>
<td>分类</td>
</tr>
<tr>
<td>description</td>
<td>longtext</td>
<td>否</td>
<td></td>
<td>描述</td>
</tr>
<tr>
<td>parent</td>
<td>bigint(20)</td>
<td>否</td>
<td>0</td>
<td>上一级</td>
</tr>
<tr>
<td>count</td>
<td>bigint(20)</td>
<td>否</td>
<td>0</td>
<td>总数</td>
</tr>
</tbody>
</table>
<p><strong>wp_terms</strong></p>
<table border="0" cellpadding="0" width="100%">
<tbody>
<tr>
<td width="50">字段</td>
<td width="80">类型</td>
<td width="40">Null</td>
<td width="70">默认</td>
<td>注释</td>
</tr>
<tr>
<td>term_id</td>
<td>bigint(20)</td>
<td>否</td>
<td></td>
<td>选项ID</td>
</tr>
<tr>
<td>name</td>
<td>varchar(200)</td>
<td>否</td>
<td></td>
<td>名字</td>
</tr>
<tr>
<td>slug</td>
<td>varchar(200)</td>
<td>否</td>
<td></td>
<td>英文描述</td>
</tr>
<tr>
<td>term_group</td>
<td>bigint(10)</td>
<td>否</td>
<td>0</td>
<td>选项组</td>
</tr>
</tbody>
</table>
<p><strong>wp_usermeta</strong></p>
<table border="0" cellpadding="0" width="100%">
<tbody>
<tr>
<td width="50">字段</td>
<td width="80">类型</td>
<td width="40">Null</td>
<td width="70">默认</td>
<td>注释</td>
</tr>
<tr>
<td>umeta_id</td>
<td>bigint(20)</td>
<td>否</td>
<td></td>
<td>用户扩展ID</td>
</tr>
<tr>
<td>user_id</td>
<td>bigint(20)</td>
<td>否</td>
<td>0</td>
<td>用户ID</td>
</tr>
<tr>
<td>meta_key</td>
<td>varchar(255)</td>
<td>是</td>
<td>NULL</td>
<td>扩展key</td>
</tr>
<tr>
<td>meta_value</td>
<td>longtext</td>
<td>是</td>
<td>NULL</td>
<td>扩展value</td>
</tr>
</tbody>
</table>
<p><strong> </strong></p>
<p><strong>wp_users</strong></p>
<table border="0" cellpadding="0" width="100%">
<tbody>
<tr>
<td width="50">字段</td>
<td width="80">类型</td>
<td width="40">Null</td>
<td width="70">默认</td>
<td>注释</td>
</tr>
<tr>
<td>ID</td>
<td>bigint(20)</td>
<td>否</td>
<td></td>
<td>标识符</td>
</tr>
<tr>
<td>user_login</td>
<td>varchar(60)</td>
<td>否</td>
<td></td>
<td>用户登陆名</td>
</tr>
<tr>
<td>user_pass</td>
<td>varchar(64)</td>
<td>否</td>
<td></td>
<td>用户登陆密码</td>
</tr>
<tr>
<td>user_nicename</td>
<td>varchar(50)</td>
<td>否</td>
<td></td>
<td>用户昵称</td>
</tr>
<tr>
<td>user_email</td>
<td>varchar(100)</td>
<td>否</td>
<td></td>
<td>用户E-mail</td>
</tr>
<tr>
<td>user_url</td>
<td>varchar(100)</td>
<td>否</td>
<td></td>
<td>用户URL</td>
</tr>
<tr>
<td>user_registered</td>
<td>datetime</td>
<td>否</td>
<td>0000-00-00 00:00:00</td>
<td>用户注册时间</td>
</tr>
<tr>
<td>user_activation_key</td>
<td>varchar(60)</td>
<td>否</td>
<td></td>
<td>用户活动Key</td>
</tr>
<tr>
<td>user_status</td>
<td>int(11)</td>
<td>否</td>
<td>0</td>
<td>用户状态</td>
</tr>
<tr>
<td>display_name</td>
<td>varchar(250)</td>
<td>否</td>
<td></td>
<td>展示名称</td>
</tr>
</tbody>
</table>
<p>Related posts:<ol>
<li><a href='http://www.biaodianfu.com/baidu-ppc-system-data-dictionary.html' rel='bookmark' title='百度竞价排名系统数据字典'>百度竞价排名系统数据字典</a></li>
<li><a href='http://www.biaodianfu.com/web-log-format.html' rel='bookmark' title='WEB日志格式及分析工具'>WEB日志格式及分析工具</a></li>
<li><a href='http://www.biaodianfu.com/googlebot-ua-ip.html' rel='bookmark' title='Google蜘蛛UA及IP'>Google蜘蛛UA及IP</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.biaodianfu.com/wordpress-datebase.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WordPress英文引号问题的解决办法</title>
		<link>http://www.biaodianfu.com/wordpress-quotmarks-replacer.html</link>
		<comments>http://www.biaodianfu.com/wordpress-quotmarks-replacer.html#comments</comments>
		<pubDate>Sat, 09 Jan 2010 01:57:18 +0000</pubDate>
		<dc:creator>标点符</dc:creator>
				<category><![CDATA[程序测试]]></category>
		<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://www.biaodianfu.com/?p=1548</guid>
		<description><![CDATA[很早就知道WordPress自动将英文的引号转成中文的，一直想改，但是一直没有重视，可能是我平时在博客上贴的代码太少了吧，今天上网搜了一下，发现很多人都在用，具体方法有两种： 1.对Wordpress的文件进行修改，需要修改的文件为：wp-includes/formatting.php 找到文件中的以下代码 // static strings $curl = str_replace($static_characters, $static_replacements, $curl); // regular expressions $curl = preg_replace($dynamic_characters, $dynamic_replacements, $curl); 将上面两句替换代码注释掉： // static strings // $curl = str_replace($static_characters, $static_replacements, $curl); // regular expressions // $curl = preg_replace($dynamic_characters, $dynamic_replacements, $curl); 其实修改起来非常简单。 2.使用牛人制作的插件，插件的使用方法就不在这里说了 插件地址：http://sparanoid.com/tag/quotmarks-replacer/ 文章是转载的，因为不知道原始作者是谁，所以没有原文出错，但是还是非常感谢原始作者及将此方法传播的所有Blogger。 Related posts: 解压缩软件 Google是如何确定网站上的关键词的 Goo.gl PHP API]]></description>
			<content:encoded><![CDATA[<p>很早就知道WordPress自动将英文的引号转成中文的，一直想改，但是一直没有重视，可能是我平时在博客上贴的代码太少了吧，今天上网搜了一下，发现很多人都在用，具体方法有两种：</p>
<p>1.对Wordpress的文件进行修改，需要修改的文件为：wp-includes/formatting.php</p>
<p>找到文件中的以下代码</p>
<p>// static strings<br />
$curl = str_replace($static_characters, $static_replacements, $curl);<br />
// regular expressions<br />
$curl = preg_replace($dynamic_characters, $dynamic_replacements, $curl);</p>
<p>将上面两句替换代码注释掉：</p>
<p>// static strings<br />
// $curl = str_replace($static_characters, $static_replacements, $curl);<br />
// regular expressions<br />
// $curl = preg_replace($dynamic_characters, $dynamic_replacements, $curl);</p>
<p>其实修改起来非常简单。</p>
<p>2.使用牛人制作的插件，插件的使用方法就不在这里说了</p>
<p>插件地址：<a href="http://sparanoid.com/tag/quotmarks-replacer/">http://sparanoid.com/tag/quotmarks-replacer/</a></p>
<p>文章是转载的，因为不知道原始作者是谁，所以没有原文出错，但是还是非常感谢原始作者及将此方法传播的所有Blogger。</p>
<p>Related posts:<ol>
<li><a href='http://www.biaodianfu.com/jieyasuo.html' rel='bookmark' title='解压缩软件'>解压缩软件</a></li>
<li><a href='http://www.biaodianfu.com/google-keywords.html' rel='bookmark' title='Google是如何确定网站上的关键词的'>Google是如何确定网站上的关键词的</a></li>
<li><a href='http://www.biaodianfu.com/goo-gl-php-api.html' rel='bookmark' title='Goo.gl PHP API'>Goo.gl PHP API</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.biaodianfu.com/wordpress-quotmarks-replacer.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>仿twitter的PHP微博客程序</title>
		<link>http://www.biaodianfu.com/php-twitter-clone.html</link>
		<comments>http://www.biaodianfu.com/php-twitter-clone.html#comments</comments>
		<pubDate>Wed, 19 Aug 2009 14:13:04 +0000</pubDate>
		<dc:creator>标点符</dc:creator>
				<category><![CDATA[程序测试]]></category>
		<category><![CDATA[微博]]></category>

		<guid isPermaLink="false">http://www.biaodianfu.com/?p=484</guid>
		<description><![CDATA[微博被和谐得差不多了,封的封关的关。 下面给你介绍的是一些开源的微博客程序，拥有这些程序可以让你自己也创建一个私人的微博客网站。 一、国内的 1.Pagecookery：http://www.pagecookery.com/ 2.easyTalk：http://www.9italk.com/ 3.nowwhere：http://code.google.com/p/project-nowhere/ 二、国外的 1.asaph：http://www.phoboslab.org/projects/asaph 2.gelato：http://gelatocms.com/ 3.Laconica：http://laconi.ca/trac/ 4.openmicroblogger：http://openmicroblogger.org/ 5.Chyrp：http://chyrp.net/ 收费的微博客系统 1.Revou：http://www.revou.com/ 2.x10 Micro Blogging Community：http://www.x10media.com/micro-blog-script Related posts: Javascript模板引擎分享 社会化媒体推广资源 一些最新的谷歌排名规则]]></description>
			<content:encoded><![CDATA[<p>微博被和谐得差不多了,封的封关的关。</p>
<p>下面给你介绍的是一些开源的微博客程序，拥有这些程序可以让你自己也创建一个私人的微博客网站。</p>
<p>一、国内的</p>
<p>1.Pagecookery：<a href="http://www.pagecookery.com/">http://www.pagecookery.com/</a></p>
<p>2.easyTalk：<a href="http://www.9italk.com/">http://www.9italk.com/</a></p>
<p>3.nowwhere：<a href="http://code.google.com/p/project-nowhere/">http://code.google.com/p/project-nowhere/</a></p>
<p>二、国外的</p>
<p>1.asaph：<a href="http://www.phoboslab.org/projects/asaph">http://www.phoboslab.org/projects/asaph</a></p>
<p>2.gelato：<a href="http://gelatocms.com/">http://gelatocms.com/</a></p>
<p>3.<span>Laconica：<a href="http://laconi.ca/trac/">http://laconi.ca/trac/</a></span></p>
<p><span>4.openmicroblogger：<a href="http://openmicroblogger.org/">http://openmicroblogger.org/</a></span></p>
<p><span>5.Chyrp：<a href="http://chyrp.net/">http://chyrp.net/</a></span></p>
<p><span>收费的微博客系统</span></p>
<p><span>1.Revou：<a href="http://www.revou.com/">http://www.revou.com/</a></span></p>
<p><span>2.x10 Micro Blogging Community：<a href="http://www.x10media.com/micro-blog-script">http://www.x10media.com/micro-blog-script</a></span></p>
<p>Related posts:<ol>
<li><a href='http://www.biaodianfu.com/simple-javascript-templating.html' rel='bookmark' title='Javascript模板引擎分享'>Javascript模板引擎分享</a></li>
<li><a href='http://www.biaodianfu.com/smo-ziyuan.html' rel='bookmark' title='社会化媒体推广资源'>社会化媒体推广资源</a></li>
<li><a href='http://www.biaodianfu.com/new-google-rankings-spam.html' rel='bookmark' title='一些最新的谷歌排名规则'>一些最新的谷歌排名规则</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.biaodianfu.com/php-twitter-clone.html/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>我的WordPress所使用的Ping List</title>
		<link>http://www.biaodianfu.com/wordpress-ping-list.html</link>
		<comments>http://www.biaodianfu.com/wordpress-ping-list.html#comments</comments>
		<pubDate>Sun, 09 Aug 2009 10:59:53 +0000</pubDate>
		<dc:creator>标点符</dc:creator>
				<category><![CDATA[程序测试]]></category>
		<category><![CDATA[Ping]]></category>
		<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://www.biaodianfu.com/?p=400</guid>
		<description><![CDATA[什么是Ping服务，很多人可能还不明白。Ping 服务，实际上是一种更新通知服务，它可以将您的博客更新自动通知博客目录和搜索引擎，加快网站被搜索引擎收录的速度。 WordPress的Ping List 可以通过后台里的“设置（Option）”——“撰写（Writing）”——“更新服务（Update Services）”来修改Ping清单。 我网上搜索了下发现现在的很多Ping List 都是由老外整理的，其中很多地址对中文博客来说基本没什么用。 下面是我对WordPress 的Ping List 做了一些整理，这些地址主要是针对中文博客。 http://ping.baidu.com/cgi-bin/blog http://blogsearch.google.com/ping/RPC2 http://api.my.yahoo.com/RPC2 http://blog.iask.com/RPC2 http://www.feedsky.com/api/RPC2 http://www.zhuaxia.com/rpc/server.php http://www.xianguo.com/xmlrpc/ping.php http://rpc.weblogs.com/RPC2 http://rpc.blogrolling.com/pinger/ http://rpc.pingomatic.com/ http://ping.weblogalot.com/rpc.php http://ping.syndic8.com/xmlrpc.php http://ping.weblogalot.com/rpc.php http://api.moreover.com/RPC2 http://bblog.com/ping.php Related posts: 网站提交入口总结 sitemap.xml的提交方法 《Google API大全》图书推荐]]></description>
			<content:encoded><![CDATA[<p>什么是Ping服务，很多人可能还不明白。Ping 服务，实际上是一种更新通知服务，它可以将您的博客更新自动通知博客目录和搜索引擎，加快网站被搜索引擎收录的速度。</p>
<p>WordPress的Ping List 可以通过后台里的“设置（Option）”——“撰写（Writing）”——“更新服务（Update Services）”来修改Ping清单。</p>
<p>我网上搜索了下发现现在的很多Ping List 都是由老外整理的，其中很多地址对中文博客来说基本没什么用。</p>
<p>下面是我对WordPress 的Ping List 做了一些整理，这些地址主要是针对中文博客。</p>
<p>http://ping.baidu.com/cgi-bin/blog</p>
<p>http://blogsearch.google.com/ping/RPC2</p>
<p>http://api.my.yahoo.com/RPC2</p>
<p>http://blog.iask.com/RPC2</p>
<p>http://www.feedsky.com/api/RPC2</p>
<p>http://www.zhuaxia.com/rpc/server.php</p>
<p>http://www.xianguo.com/xmlrpc/ping.php</p>
<p>http://rpc.weblogs.com/RPC2</p>
<p>http://rpc.blogrolling.com/pinger/</p>
<p>http://rpc.pingomatic.com/</p>
<p>http://ping.weblogalot.com/rpc.php</p>
<p>http://ping.syndic8.com/xmlrpc.php</p>
<p>http://ping.weblogalot.com/rpc.php</p>
<p>http://api.moreover.com/RPC2</p>
<p>http://bblog.com/ping.php</p>
<p>Related posts:<ol>
<li><a href='http://www.biaodianfu.com/add-url.html' rel='bookmark' title='网站提交入口总结'>网站提交入口总结</a></li>
<li><a href='http://www.biaodianfu.com/submit-sitemap.html' rel='bookmark' title='sitemap.xml的提交方法'>sitemap.xml的提交方法</a></li>
<li><a href='http://www.biaodianfu.com/google-api-daquan.html' rel='bookmark' title='《Google API大全》图书推荐'>《Google API大全》图书推荐</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.biaodianfu.com/wordpress-ping-list.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>我的wordpress所使用的robots.txt</title>
		<link>http://www.biaodianfu.com/wordpress-robots-txt.html</link>
		<comments>http://www.biaodianfu.com/wordpress-robots-txt.html#comments</comments>
		<pubDate>Sun, 09 Aug 2009 10:43:34 +0000</pubDate>
		<dc:creator>标点符</dc:creator>
				<category><![CDATA[程序测试]]></category>
		<category><![CDATA[robots.txt]]></category>
		<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://www.biaodianfu.com/?p=398</guid>
		<description><![CDATA[User-agent: * Disallow: /cgi-bin Disallow: /wp-admin Disallow: /wp-includes Disallow: /wp-content/plugins Disallow: /wp-content/cache Disallow: /wp-content/themes Disallow: /trackback Disallow: /feed Disallow: /comments Disallow: /page Disallow: /date Disallow: /author Disallow: /about Disallow: /advertise User-agent: Googlebot # disallow all files ending with these extensions Disallow: /*.php$ Disallow: /*.js$ Disallow: /*.inc$ Disallow: /*.css$ Disallow: */trackback Disallow: */feed Disallow: */comments Disallow: [...]]]></description>
			<content:encoded><![CDATA[<pre>User-agent: *
Disallow: /cgi-bin
Disallow: /wp-admin
Disallow: /wp-includes
Disallow: /wp-content/plugins
Disallow: /wp-content/cache
Disallow: /wp-content/themes
Disallow: /trackback
Disallow: /feed
Disallow: /comments
Disallow: /page
Disallow: /date
Disallow: /author
Disallow: /about
Disallow: /advertise</pre>
<pre>User-agent: Googlebot
# disallow all files ending with these extensions
Disallow: /*.php$
Disallow: /*.js$
Disallow: /*.inc$
Disallow: /*.css$
Disallow: */trackback
Disallow: */feed
Disallow: */comments
Disallow: /*?*
Sitemap: http://www.biaodianfu.com/sitemap.xml
Sitemap: http://www.biaodianfu.com/sitemap.xml.gz</pre>
<p>Related posts:<ol>
<li><a href='http://www.biaodianfu.com/autohome.html' rel='bookmark' title='对汽车之家的分析【SEO每周一站】'>对汽车之家的分析【SEO每周一站】</a></li>
<li><a href='http://www.biaodianfu.com/baidu-robots.html' rel='bookmark' title='百度遵守的蜘蛛访问协议'>百度遵守的蜘蛛访问协议</a></li>
<li><a href='http://www.biaodianfu.com/sitemap-xml.html' rel='bookmark' title='SEO之sitemap.xml'>SEO之sitemap.xml</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.biaodianfu.com/wordpress-robots-txt.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

