<?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>跟踪人生</title>
	<atom:link href="http://www.trackself.com/feed" rel="self" type="application/rss+xml" />
	<link>http://www.trackself.com</link>
	<description>跟踪人生的印记,思考前进的步伐,come and send me a smile.</description>
	<lastBuildDate>Sun, 06 May 2012 07:10:31 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>中国正在摧毁自己的上下五千年文明</title>
		<link>http://www.trackself.com/archives/2056.html</link>
		<comments>http://www.trackself.com/archives/2056.html#comments</comments>
		<pubDate>Sat, 05 May 2012 19:05:26 +0000</pubDate>
		<dc:creator>黎 浩江</dc:creator>
				<category><![CDATA[关注时事]]></category>

		<guid isPermaLink="false">http://www.trackself.com/?p=2056</guid>
		<description><![CDATA[以医事论国事。 一位同学在学校的论坛里发了一篇《临床科研型何去何从&#8212;写给中山医的师弟师妹》： 主要内容是：由于政策改变，科研型的研究生更加难做上临床医生了，科研型的研究生升主治也加了两年，现在做临床医生越来越难了。另一个怪圈就是，有经费的教授做科研会越来越有经费，缺经费的教授会越来越缺经费。 我想起了另一个朋友跟我说过的一个圣经的理论： 马太效应：Matthew Effect 马太效应：《圣经－马太福音》中有一句名言：“凡有的，还要加给他，叫他有余;没有的，连他所有的，也要夺过来。” 如果这句话用在管理学上，例如公司、企业等管理上，是完全正确的！ 问题是，如果这句话用在国家管理上，用在文明的管理上，那就会对文明造成摧毁以至于毁灭性的打击也是可能的。 因为当用在国家管理上，这句话就会变成：让穷人越穷，让富人越富了；用在科研上就是：有经费的教授越有经费，缺经费的教授越缺经费。就会变成两极分化，进入马克思预言的必然灭亡论。（注意的是，无论资本主义还是社会主义，只要存在两极分化，就会灭） 若将马太效应用于全社会的管理，虽然可以做到资源的有效分配，可以高效地利用资源，但问题是直接造成资源分配不公！ 必然导致一个结果：当前“穷”的“缺”的人会死一大片。 民主为何？孙中山讲过：天下为公。何为公？ 这个公，我的理解不是公平，而是指大部分人。 单纯的追求提高资源的有效利用率，就会使得大部分人没法使用资源，垄断必然出现， 目前的学术垄断就是如此，我是学医的，其他行业我不清楚。 但企业垄断可以灭国，难道学术垄断不会？ 资源不够，所以有竞争，必然会分配不均， 但前提是不能以大部分竞争力不足的人牺牲为代价， 以命或者说大部分人的生活质量换高效资源利用率——不值。 没有资源的医生，想干出一番事业来，想养活老婆孩子，你觉得单纯能用道德来制约吗？可笑。 我并非绝对公平主义者，我是想希望政策的制定要考虑大部分人的利益，不能只想着资源不够。 资源不够就能饿死人了吗？ 所有刚刚学医的人都想着我以后要做个好医生，但大部分人最终却成为了“马太效应”的牺牲者，他们如农民一样在中国的马太世界中生存着，更可笑的是，别人管这种牺牲叫医德。 政策制定的出发点应该是人，而不是资源！ 如果下辈子你生即穷人，那么有可能因为你的穷，而社会饭又不够的时候，你将没饭吃而饿死，但富人却可以将饭拿去养狗，这就是当前的中国所谓的资源有效利用。 说白了就是借用了西方的“马太理论”，但中国人啊，用别人用来治企业的理论来治国！ 再说一个中国正在摧毁自己的5000年文化的例子：在好的初中，进好的高中更加容易，进了好的高中进好的大学更加容易。 教育资源是不足，但有必要牺牲这么多的“差生”的利益，而将大部分的经费投在几个重点大学上面吗？ 想你重点建设下的清华北大，建国后无非也就是出国不回国的人多罢了，何足道栽？当然，贪官也出不少，对国家有大贡献吗？看不出。 想中国上下五千年文化，在这近60年中，可有大发展？现代诗连小学一年级会写字的小孩都能写几首，真有才。看现代诗，我还不如听流行歌看穿越小说呢！ 故宫博物馆的工作人员居然还写错字，真是上下五千年，只成为个历史。 资源有效利用率是高了， 人民却越来越没文化，数理化大家都会了，又有何用？我读博了，微积分忘了，对我有影响？那我当时学来何用！ 当然，你不能因为吃第六个饼才饱而说前五个饼没用。 但大家仔细想想：这是一个诡辩，吃饭是必须的，是生存需要。但是：某些知识是必须的吗？ 有个朋友提点过我，跟我以下面几个观点来论道，如果下面四只能选一，你选什么 1.知识改变命运 2.文化改变命运 3.智力改变命运 4.智慧改变命运 这年头就没几个人还懂《论语》，古人留给我们的只是知识吗？只是文化吗？智慧一词，自从引进了西方的智力一说后，大部分中国人都忽略了。 有智慧者，难道会缺了知识？正如吃了最后一块饼，你会错过前面几块吗？ 但我们的教育却是徘徊在知识层面，这真的能改变命运吗？ 医者，最重要的是医术吗，最重要的是科研吗？ 我的医者之心已经几乎被当前的制度所磨灭，幸好我有几个哥们能经常提点我一下，但那些不像我这么走运的医生呢，他们的医者之心又在何处，有着高明的医术领先的科研又能如何，能救更多的人吗？不害更多的人算不错了，治病不代表救人，我遇到过太多太多病好了却无力还债的病人。力量过大而无相应的智慧去制约，就会被力量反噬，这就是当前的医！ 回顾大部份所谓有文化的国人，却是以师夷而自豪，上次我写过一篇文章，看到公车站上一个白领沾沾自喜地在公交站上教他一个6岁不到的小孩在背单词，还故意在周围几个在等车上班的人面前表演，我看得那个叫心酸啊。 这就是建国以来一直说的“知识改变命运”吗？ 邯郸学步！ 英文过了六级的朋友，你们当中记得《论语》几句？但你们当中记得《圣经》的应该不少吧，可悲。 大道荒弃，偏走小道，然沾沾自喜，更有甚者却是以无用论攻击。 吾日夜望死，忧见宗庙之陨！ 坐着公车，窗外经过一个脉动矿泉水的广告，听到有个学生问另一个学生（看体形，应该不像是小学生）：power是什么意思，另一个马上回：力量，周围一片羡慕的目光。 by:www.trackself.com &#160;]]></description>
			<content:encoded><![CDATA[<div class="announcement_post"><p>以医事论国事。</p>
<p>一位同学在学校的论坛里发了一篇<a href="http://bbs.bojistudio.org/thread-74702-1-1.html">《临床科研型何去何从&#8212;写给中山医的师弟师妹》</a>：</p>
<p>主要内容是：由于政策改变，科研型的研究生更加难做上临床医生了，科研型的研究生升主治也加了两年，现在做临床医生越来越难了。另一个怪圈就是，有经费的教授做科研会越来越有经费，缺经费的教授会越来越缺经费。</p>
<p>我想起了另一个朋友跟我说过的一个圣经的理论：</p>
<p>马太效应：Matthew Effect<br />
马太效应：《圣经－马太福音》中有一句名言：“凡有的，还要加给他，叫他有余;没有的，连他所有的，也要夺过来。”</p>
<p>如果这句话用在管理学上，例如公司、企业等管理上，是完全正确的！</p>
<p>问题是，如果这句话用在国家管理上，用在文明的管理上，那就会对文明造成摧毁以至于毁灭性的打击也是可能的。</p>
<p>因为当用在国家管理上，这句话就会变成：让穷人越穷，让富人越富了；用在科研上就是：有经费的教授越有经费，缺经费的教授越缺经费。就会变成两极分化，进入马克思预言的必然灭亡论。（注意的是，无论资本主义还是社会主义，只要存在两极分化，就会灭）</p>
<p>若将马太效应用于全社会的管理，虽然可以做到资源的有效分配，可以高效地利用资源，但问题是直接造成资源分配不公！</p>
<p>必然导致一个结果：当前“穷”的“缺”的人会死一大片。</p>
<p>民主为何？孙中山讲过：<strong>天下为公。何为公？</strong></p>
<p>这个公，<strong>我的理解不是公平，而是指大部分人</strong>。</p>
<p>单纯的追求提高资源的有效利用率，就会使得大部分人没法使用资源，垄断必然出现，</p>
<p>目前的学术垄断就是如此，我是学医的，其他行业我不清楚。</p>
<p>但企业垄断可以灭国，难道学术垄断不会？</p>
<p><strong>资源不够，所以有竞争，必然会分配不均，</strong></p>
<p>但前提是不能以大部分竞争力不足的人牺牲为代价，</p>
<p><strong>以命或者说大部分人的生活质量换高效资源利用率——不值</strong>。</p>
<p>没有资源的医生，想干出一番事业来，想养活老婆孩子，你觉得单纯能用道德来制约吗？可笑。</p>
<p>我并非绝对公平主义者，我是想希望政策的制定要考虑大部分人的利益，不能只想着资源不够。</p>
<p>资源不够就能饿死人了吗？</p>
<p>所有刚刚学医的人都想着我以后要做个好医生，但大部分人最终却成为了“马太效应”的牺牲者，他们如农民一样在中国的马太世界中生存着，更可笑的是，别人管这种牺牲叫医德。</p>
<p><strong>政策制定的出发点应该是人，而不是资源！</strong></p>
<p>如果下辈子你生即穷人，那么有可能因为你的穷，而社会饭又不够的时候，你将没饭吃而饿死，但富人却可以将饭拿去养狗，这就是当前的中国所谓的资源有效利用。</p>
<p>说白了就是借用了西方的“马太理论”，但中国人啊，用别人用来治企业的理论来治国！</p>
<p>再说一个中国正在摧毁自己的5000年文化的例子：在好的初中，进好的高中更加容易，进了好的高中进好的大学更加容易。</p>
<p>教育资源是不足，但有必要牺牲这么多的“差生”的利益，而将大部分的经费投在几个重点大学上面吗？</p>
<p>想你重点建设下的清华北大，建国后无非也就是出国不回国的人多罢了，何足道栽？当然，贪官也出不少，对国家有大贡献吗？看不出。</p>
<p>想中国上下五千年文化，在这近60年中，可有大发展？现代诗连小学一年级会写字的小孩都能写几首，真有才。看现代诗，我还不如听流行歌看穿越小说呢！</p>
<p><strong>故宫博物馆的工作人员居然还写错字，真是上下五千年，只成为个历史。</strong></p>
<p>资源有效利用率是高了，</p>
<p>人民却越来越没文化，数理化大家都会了，又有何用？我读博了，微积分忘了，对我有影响？那我当时学来何用！</p>
<p>当然，你不能因为吃第六个饼才饱而说前五个饼没用。</p>
<p>但大家仔细想想：这是一个诡辩，吃饭是必须的，是生存需要。但是：某些知识是必须的吗？</p>
<p>有个朋友提点过我，跟我以下面几个观点来论道，如果下面四只能选一，你选什么</p>
<p>1.知识改变命运</p>
<p>2.文化改变命运</p>
<p>3.智力改变命运</p>
<p>4.智慧改变命运</p>
<p>这年头就没几个人还懂《论语》，古人留给我们的只是知识吗？只是文化吗？智慧一词，自从引进了西方的智力一说后，大部分中国人都忽略了。</p>
<p>有智慧者，难道会缺了知识？正如吃了最后一块饼，你会错过前面几块吗？</p>
<p>但我们的教育却是徘徊在知识层面，这真的能改变命运吗？</p>
<p>医者，最重要的是医术吗，最重要的是科研吗？</p>
<p>我的医者之心已经几乎被当前的制度所磨灭，幸好我有几个哥们能经常提点我一下，但那些不像我这么走运的医生呢，他们的医者之心又在何处，有着高明的医术领先的科研又能如何，能救更多的人吗？不害更多的人算不错了，治病不代表救人，我遇到过太多太多病好了却无力还债的病人。力量过大而无相应的智慧去制约，就会被力量反噬，这就是当前的医！</p>
<p>回顾大部份所谓有文化的国人，却是以师夷而自豪，上次我写过一篇文章，看到公车站上一个白领沾沾自喜地在公交站上教他一个6岁不到的小孩在背单词，还故意在周围几个在等车上班的人面前表演，我看得那个叫心酸啊。</p>
<p>这就是建国以来一直说的“知识改变命运”吗？</p>
<p>邯郸学步！</p>
<p>英文过了六级的朋友，你们当中记得《论语》几句？但你们当中记得《圣经》的应该不少吧，可悲。</p>
<p>大道荒弃，偏走小道，然沾沾自喜，更有甚者却是以无用论攻击。</p>
<p>吾日夜望死，忧见宗庙之陨！</p>
<p>坐着公车，窗外经过一个脉动矿泉水的广告，听到有个学生问另一个学生（看体形，应该不像是小学生）：power是什么意思，另一个马上回：力量，周围一片羡慕的目光。</p>
<p>by:www.trackself.com</p>
<p>&nbsp;</p>
</div>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.trackself.com%2Farchives%2F2056.html&amp;title=%E4%B8%AD%E5%9B%BD%E6%AD%A3%E5%9C%A8%E6%91%A7%E6%AF%81%E8%87%AA%E5%B7%B1%E7%9A%84%E4%B8%8A%E4%B8%8B%E4%BA%94%E5%8D%83%E5%B9%B4%E6%96%87%E6%98%8E" id="wpa2a_4"><img src="http://www.trackself.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.trackself.com/archives/2056.html/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>发布，基于drupal的采集CMS,一起淘美金吧,alpha</title>
		<link>http://www.trackself.com/archives/1853.html</link>
		<comments>http://www.trackself.com/archives/1853.html#comments</comments>
		<pubDate>Sat, 28 Jan 2012 14:10:58 +0000</pubDate>
		<dc:creator>黎 浩江</dc:creator>
				<category><![CDATA[drupal]]></category>
		<category><![CDATA[美金]]></category>
		<category><![CDATA[采集]]></category>

		<guid isPermaLink="false">http://www.trackself.com/?p=1853</guid>
		<description><![CDATA[[下载：] 整站:http://x.oddsfun.com/x.zip(2012-4-3,此为第二版,上一版本我自己也没有备份) 模块:http://x.oddsfun.com/modules.zip,内附四个模块,直接放到sites/all/modules中即可 升级:可以整站复盖,也可以下载模块后放到sites/all/modules中. 升级原因:从2012-1-28版升级到2012-4-3,是为了支持godaddy空间,以及提高采集性能\bug fixed. demo:http://oddsfun.com by:http://www.trackself.com, 你们要支持这个程序的话: buy me a coffee:  http://me.alipay.com/trackself 请加QQ群:227600605,关于drupal anywhere 和 drupal crawler 这个CMS的 [介绍:] 这个是一个基于drupal的二次开发的CMS，主要用于采集和赚美金（人民币我是失败了）： 1.可以采集明文的HTML.(藏在javascript里的东西应该是不行的).我主要用于采图片. 2.采集程序何其多,它的特色是完全基于PHP和drupal,直接能用在bluehost等便宜到死的主机上,不需要非常规的PHP插件. 3.并发爬行(一个个爬,等明年吧).bluehost的最大值是50并发,我设置了15个并发,不会让你被bluehost封机器的 4.对wordpress支持相当好,我指的是采集用wordpress做的站.我在做采集的时候发现80%的国外站点是用wordpress做的. 5.我在里面装上了很多drupal必须要用到的模块和帮你下载好了一些我必须用到的模块,你自己选择性安装,方便上手drupal 6.能并发下载图片. 7.能并发上传到picasa,我是穷人,所以得想尽办法省流量,流量是其次,bluehost限制了文件数量最大不超过15万张(15万张,几周就到了,我某个站似乎有70万的图片了).也是这一点,导致我赚不到人民币,万恶的GFW! [安装:] 本地测试建议：服务器环境可以用XAMPP1.71，不要用太新的版本，为PHP5.2,安装完后改改php.ini即可：http://sourceforge.net/projects/xampp/files/XAMPP%20Windows/1.7.1/ 挂上zend optimizer 方法1.下载整站http://x.oddsfun.com/x.zip,解压后访问主页狂点下一步即安装完.你可以为安装着想,直接到官方下最新的drupal6复盖解决后的文件再安装也行. [ 注:整站程序被我hack了几个地方的,为性能着想,用过drupal都知道drupal慢,所以我hack了它. 被我hack了一下:node_load(单用户,不left join user),drupal_get_path(单语言,不再select language) 如果你觉得不爽,请自行到drupal.org下载drupal6最新版,直接复盖上去即可.这样就完全没有被hack过了. (用这个安装模式,性能更佳,我也附上了最新的drupal,最近的模块,包含了我常用的模块,帮你自动安装上了,方便马上上手drupal) ] 方法2:下载官方drupal6,下载模块:http://x.oddsfun.com/modules.zip,内附四个模块,直接放到sites/all/modules中即可. 安装问题集:http://www.trackself.com/archives/2021.html ,若安装有问题,请到该文下回复. 安装不成功,记得给我留言,这就是一种支持,记得付上出错信息. [核心文档:]  0.慢慢会上来的,直到这个采集程序完善,希望有朋友可以在使用后写使用经验,写完后将link回复一下就行了. 1.drupal-crawler的核心文档:一个并发下载类,webcrawler_core.module , 有5个类，其中三个是并发下载类，两个是HTML分析类，目前3000行代码。HTML分析类独立写出来是为了节省性能，下载到的tidy等HTML分析类都太耗内存了，而且我只为采集用，其它功能不想用到。 2.drupal-crawler的核心文档:找到页面所有连接,以取得GOOGLE最热门的关键词为例 3.逻辑使用：drupal-crawler使用文档:采集逻辑（原理） [使用说明:] 另:请多提需求,直接回复我好可,否则我不知如何写文档,我也懒. 1.使用几个action生成初始代码,然后将这个代码放在codes里面,要更新内容的话,可以cron_html定期执行(注:这个程序的采集还是需要站长懂PHP的,虽然我已经非常尽力用multi-step-from写代码去满足你们[我自己是从来不用这些方法的]),学会写一点点PHP,那么你才会真正学会使用该采集程序,达到无站不采&#8230;.!!!!关键是用好codes页面!!!! 2.一个朋友写的使用经验(图文):http://li.limitory.com/279.html,我个人认为上手够了.这个朋友的付出,让我觉得我应该释放更多的代码出来.谢谢.http://li.limitory.com/394.html (用crawl2level采集列表页) [...]]]></description>
			<content:encoded><![CDATA[<div class="announcement_post"><p><strong>[下载：]</strong></p>
<p><strong></strong>整站:<a href="http://x.oddsfun.com/x.zip">http://x.oddsfun.com/x.zip</a>(2012-4-3,此为<strong><span style="color: #ff0000;">第二版</span></strong>,上一版本我自己也没有备份)</p>
<p>模块:<a href="http://x.oddsfun.com/modules.zip">http://x.oddsfun.com/modules.zip</a>,内附四个模块,直接放到sites/all/modules中即可</p>
<p>升级:可以整站复盖,也可以下载模块后放到sites/all/modules中.</p>
<p>升级原因:从2012-1-28版升级到2012-4-3,是为了支持godaddy空间,以及提高采集性能\bug fixed.</p>
<p>demo:<a href="http://oddsfun.com">http://oddsfun.com</a></p>
<p>by:<a href="http://www.trackself.com">http://www.trackself.com</a>,</p>
<p>你们要支持这个程序的话: <a href="http://me.alipay.com/trackself">buy me a coffee:  http://me.alipay.com/trackself</a></p>
<p>请加QQ群:227600605,关于drupal anywhere 和 drupal crawler 这个CMS的</p>
<p><strong>[介绍:]</strong></p>
<p><strong>这个是一个基于drupal的二次开发的CMS</strong>，主要用于采集和赚美金（人民币我是失败了）：<br />
1.可以采集明文的HTML.(藏在javascript里的东西应该是不行的).我主要用于采图片.<br />
2.采集程序何其多,它的特色是完全基于PHP和drupal,直接能用在bluehost等便宜到死的主机上,不需要非常规的PHP插件.<br />
3.并发爬行(一个个爬,等明年吧).bluehost的最大值是50并发,我设置了15个并发,不会让你被bluehost封机器的<br />
4.对wordpress支持相当好,我指的是采集用wordpress做的站.我在做采集的时候发现80%的国外站点是用wordpress做的.<br />
5.我在里面装上了很多drupal必须要用到的模块和帮你下载好了一些我必须用到的模块,你自己选择性安装,方便上手drupal<br />
6.能并发下载图片.<br />
7.能并发上传到picasa,我是穷人,所以得想尽办法省流量,流量是其次,bluehost限制了文件数量最大不超过15万张(15万张,几周就到了,我某个站似乎有70万的图片了).也是这一点,导致我赚不到人民币,万恶的GFW!</p>
<p><span id="more-1853"></span></p>
<p><strong>[安装:]</strong></p>
<p>本地测试建议：服务器环境可以用XAMPP1.71，不要用太新的版本，为PHP5.2,安装完后改改php.ini即可：http://sourceforge.net/projects/xampp/files/XAMPP%20Windows/1.7.1/</p>
<div>挂上zend optimizer</div>
<p>方法1.下载整站<a href="http://x.oddsfun.com/x.zip">http://x.oddsfun.com/x.zip</a>,解压后访问主页狂点下一步即安装完.你可以为安装着想,直接到官方下最新的drupal6复盖解决后的文件再安装也行.</p>
<p>[</p>
<p>注:整站程序被我hack了几个地方的,为性能着想,用过drupal都知道drupal慢,所以我hack了它.</p>
<p>被我hack了一下:node_load(单用户,不left join user),drupal_get_path(单语言,不再select language)<br />
如果你觉得不爽,请自行到drupal.org下载drupal6最新版,直接复盖上去即可.这样就完全没有被hack过了.</p>
<p>(用这个安装模式,性能更佳,我也附上了最新的drupal,最近的模块,包含了我常用的模块,帮你自动安装上了,<span style="color: #ff0000;">方便马上上手drupal</span>)</p>
<p>]</p>
<p>方法2:下载官方drupal6,下载模块:http://x.oddsfun.com/modules.zip,内附四个模块,直接放到sites/all/modules中即可.</p>
<p><span style="color: #ff0000;">安装问题集</span>:<a href="http://www.trackself.com/archives/2021.html">http://www.trackself.com/archives/2021.html</a> ,若安装有问题,请到该文下回复.</p>
<p>安装不成功,记得给我留言,这就是一种支持,记得付上出错信息.</p>
<p><strong>[核心文档:] </strong></p>
<p>0.慢慢会上来的,直到这个采集程序完善,希望有朋友可以在使用后写使用经验,写完后将link回复一下就行了.</p>
<p>1.<a href="http://www.trackself.com/archives/1977.html">drupal-crawler的核心文档:一个并发下载类,webcrawler_core.module</a> , 有5个类，其中三个是并发下载类，两个是HTML分析类，目前3000行代码。HTML分析类独立写出来是为了节省性能，下载到的tidy等HTML分析类都太耗内存了，而且我只为采集用，其它功能不想用到。</p>
<p>2.<a href="http://www.trackself.com/archives/2002.html">drupal-crawler的核心文档:找到页面所有连接,以取得GOOGLE最热门的关键词为例</a></p>
<p>3.<a href="http://www.trackself.com/archives/2047.html">逻辑使用：drupal-crawler使用文档:采集逻辑（原理）</a></p>
<p><strong>[使用说明:]</strong></p>
<p>另:请多提需求,直接回复我好可,否则我不知如何写文档,我也懒.<br />
1.使用几个action生成初始代码,然后将这个代码放在codes里面,要更新内容的话,可以cron_html定期执行(注:这个程序的采集还是需要站长懂PHP的,虽然我已经非常尽力用multi-step-from写代码去满足你们[我自己是从来不用这些方法的]),学会写一点点PHP,那么你才会真正学会使用该采集程序,达到无站不采&#8230;.!!!!关键是用好codes页面!!!!<br />
2.<strong>一个朋友写的使用经验(图文):<a href="http://li.limitory.com/279.html">http://li.limitory.com/279.html</a></strong>,我个人认为上手够了.这个朋友的付出,让我觉得我应该释放更多的代码出来.谢谢.<a href="http://li.limitory.com/394.html" rel="nofollow">http://li.limitory.com/394.html</a> (用crawl2level采集列表页)<br />
3.关于图片采集并上传到picasa:<br />
要开启blogger模块,默认已经开启的了(该模块有些BUG,在我自己用的站上已经改了,但这个版本的我已经用了一年,大问题是没有的)<br />
在googleaccount.php中输入若干的google account<br />
运行cron_image.php(注意.不要在中国环境测试,在中国是连接不了picasa.google.com的)<br />
运行help_cronimage.php保证cron_image.php有任务可以执行.<br />
大家可以看到cron_image是没有加密的,有些朋友可能并不需要将图片上传到picasa,而是直接下载到本地(这样有利于SEO),所以可以参考cron_image中关于downimage这个类的使用,你会发觉用于图片下载相当的爽.</p>
<p>4.<span style="color: #ff0000;"><a href="http://www.trackself.com/archives/2014.html">drupal-crawler使用文档:采集wordpress的通用代码,并介绍CODE页面</a></span></p>
<p><strong>[开源计划：]</strong></p>
<p>1.没有完善的文档，开源是没有意义的。目前正在和几个朋友一起完善文档。但由于大家都是自由开发者。慢。希望有更多人使用该程序，更多人写使用文档。</p>
<p>2.如果你确实需要采集代码：采集代码：可以直接参考国内的DEDE系统或者看我早期发过的curl_multi;DOM分析类：tidy dom比我的写得更好。我是为了性能和易用性，将采集+DOM整合了。</p>
<p>3.将正式版的时候，该程序会开源，到时还会有商业版，提代数据等。</p>
<p>关于赚美金:<br />
没你想的容易,也没你想的困难,凡事在于尝试与坚持.</p>
<p><strong>希望:</strong><br />
这个CMS能给我带来些新的朋友,新的idea,如果有点钱就更好了,哈哈.</p>
<p><strong>[寻求合作:]</strong><br />
美工:想找位美工合作,因为采集站主要是采图采视频,想做成类似<a href="http://dutu.qq.com/" rel="nofollow">QQ的&#8221;读图知天下&#8221;</a>,就是目前大热的Pinterest版型.<br />
广告:试广告太麻烦了,有没有朋友精这方面的,告诉我一两个国外广告商吧.最好支持*.XXX.com这样的泛式域名的</p>
<p>开发笔记:http://www.trackself.com/archives/2024.html</p>
<p><strong>[庞大的公司计划：]</strong></p>
<p>有一个想法：如果人力足够，将各类型的网站进行细致采集，并建立统一的数据中心（如果有1亿篇文章[1个站估计只会有1000~10000篇，估计要有10万个或1万个站]）。统一做成伪原创，SEO优化。</p>
<p>或者直接做成二次原创。1亿篇文章看似多，但如果有好的<strong>交互模式</strong>，哼哼，1亿篇原创完全不是问题。文章是改出来的！</p>
<p><strong>然后将内容分发。即最终做的就不是采集，而是内容分发及内容优化</strong>。并保证分发过程中，分发给不同用户的文章希望重复率也低。</p>
<p>这完全是在做一个原创数据中心啊！</p>
<p>再针对google每天每小时的热点关键词，进行文章发布，这样，对单个网站的文章量不需要过大。但SEO极好。</p>
<p>测试计划：1.先实现GOOGLE热点关键词网站及数据收集 。2.建立私人的小型数据中心（就1GB吧，免费空间的上限） 。3.购买域名进行小规模测试。（暂时只用程序实现伪原创，标题偶尔改为原创。）</p>
<p>似乎这个模式更加容易双赢。直接跳开技术流。期待投资。</p>
<p><strong>[项目联系:]</strong></p>
<p>关于drupal的各种项目都可以直接联系我,我在drupal方面自我感觉还算可以.</p>
<p>要采集,或者drupal优化都行.</p>
<p>(对了,暂时懒得做下载统计,下了的朋友请加QQ群:227600605)</p>
</div>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.trackself.com%2Farchives%2F1853.html&amp;title=%E5%8F%91%E5%B8%83%EF%BC%8C%E5%9F%BA%E4%BA%8Edrupal%E7%9A%84%E9%87%87%E9%9B%86CMS%2C%E4%B8%80%E8%B5%B7%E6%B7%98%E7%BE%8E%E9%87%91%E5%90%A7%2Calpha" id="wpa2a_8"><img src="http://www.trackself.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.trackself.com/archives/1853.html/feed</wfw:commentRss>
		<slash:comments>129</slash:comments>
		</item>
		<item>
		<title>drupal-crawler使用文档:采集逻辑（原理）</title>
		<link>http://www.trackself.com/archives/2047.html</link>
		<comments>http://www.trackself.com/archives/2047.html#comments</comments>
		<pubDate>Thu, 19 Apr 2012 14:45:33 +0000</pubDate>
		<dc:creator>黎 浩江</dc:creator>
				<category><![CDATA[drupal]]></category>

		<guid isPermaLink="false">http://www.trackself.com/?p=2047</guid>
		<description><![CDATA[该文属于drupal-crawler CMS的使用说明文档, 请到主文章 drupal-crawler发布，基于drupal的采集CMS,一起淘美金吧,alpha 中下载该CMS.  HTML标签通过大于号&#62;间开 h2@class=attrib&#62;a 属性通过@间开 h2@class=attrib*&#62;a   表示查找所有有attrib做为class的连接 在属性间加*，表示开始使用PHP正则]]></description>
			<content:encoded><![CDATA[<p>该文属于drupal-crawler CMS的使用说明文档,</p>
<p>请到主文章 <a href="http://www.trackself.com/archives/1853.html">drupal-crawler发布，基于drupal的采集CMS,一起淘美金吧,alpha</a> 中下载该CMS.</p>
<div> HTML标签通过大于号&gt;间开<br />
h2@class=attrib&gt;a<br />
属性通过@间开<br />
h2@class=attrib*&gt;a   表示查找所有有attrib做为class的连接<br />
在属性间加*，表示开始使用PHP正则</div>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.trackself.com%2Farchives%2F2047.html&amp;title=drupal-crawler%E4%BD%BF%E7%94%A8%E6%96%87%E6%A1%A3%3A%E9%87%87%E9%9B%86%E9%80%BB%E8%BE%91%EF%BC%88%E5%8E%9F%E7%90%86%EF%BC%89" id="wpa2a_12"><img src="http://www.trackself.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.trackself.com/archives/2047.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>drupal-crawler的公司计划：</title>
		<link>http://www.trackself.com/archives/2043.html</link>
		<comments>http://www.trackself.com/archives/2043.html#comments</comments>
		<pubDate>Thu, 19 Apr 2012 04:27:54 +0000</pubDate>
		<dc:creator>黎 浩江</dc:creator>
				<category><![CDATA[待办事项]]></category>
		<category><![CDATA[drupal anywhere]]></category>
		<category><![CDATA[drupal crawler]]></category>

		<guid isPermaLink="false">http://www.trackself.com/?p=2043</guid>
		<description><![CDATA[有人说过，成功就是方向和坚持。网赚一定是一个不错的方向，毕竟谁都想睡着的时候都有钱入账。 但赚些小钱，没啥成就感，这程序我写写改改1年了。采集这个方向有没有错我不知道，没有明确道理证明其必错的情况下，总归要先假设其是正确的，毕竟目前我也没啥其他产品可拿得出手。 [庞大的计划：] 如果人力足够，将各类型的网站进行细致采集，并建立统一的数据中心（如果有1亿篇文章[1个站估计只会有1000~10000篇，估计要有10万个或1万个站]）。统一做成伪原创，SEO优化。 或者直接做成二次原创。1亿篇文章看似多，但如果有好的交互模式，哼哼，1亿篇原创完全不是问题。文章是改出来的！ 然后将内容分发。即最终做的就不是采集，而是内容分发及内容优化。并保证分发过程中，分发给不同用户的文章希望重复率也低。 这完全是在做一个原创数据中心啊！ 再针对google每天每小时的热点关键词，进行文章发布，这样，对单个网站的文章量不需要过大。但SEO极好。 [既然不确定，就做个小测试：] 测试计划：1.先实现GOOGLE热点关键词网站及数据收集 。2.建立私人的小型数据中心（就1GB吧，免费空间的上限） 。3.购买域名进行小规模测试。（暂时只用程序实现伪原创，标题偶尔改为原创。）4.同步到各大型的SNS。5.实现GOOGLE广告 成功的标准：若该测试在未来半年内可以产生1000元/月的收入，则认为该方法可行，则扩大测试为独立服务器。估计成功率较大。以目前的经验来说1000元实现不难。 如二期测试成功：则计划以此兼职开个小公司，请些人手进行三期测试。 模式若成功。直接跳开技术流。期待投资。]]></description>
			<content:encoded><![CDATA[<p>有人说过，成功就是方向和坚持。网赚一定是一个不错的方向，毕竟谁都想睡着的时候都有钱入账。</p>
<p>但赚些小钱，没啥成就感，这程序我写写改改1年了。采集这个方向有没有错我不知道，没有明确道理证明其必错的情况下，总归要先假设其是正确的，毕竟目前我也没啥其他产品可拿得出手。</p>
<p>[庞大的计划：]</p>
<p>如果人力足够，将各类型的网站进行细致采集，并建立统一的数据中心（如果有1亿篇文章[1个站估计只会有1000~10000篇，估计要有10万个或1万个站]）。统一做成伪原创，SEO优化。</p>
<p>或者直接做成二次原创。1亿篇文章看似多，但如果有好的<strong>交互模式</strong>，哼哼，1亿篇原创完全不是问题。文章是改出来的！</p>
<p><strong>然后将内容分发。即最终做的就不是采集，而是内容分发及内容优化</strong>。并保证分发过程中，分发给不同用户的文章希望重复率也低。</p>
<p>这完全是在做一个原创数据中心啊！</p>
<p>再针对google每天每小时的热点关键词，进行文章发布，这样，对单个网站的文章量不需要过大。但SEO极好。</p>
<p>[既然不确定，就做个小测试：]</p>
<p>测试计划：1.先实现GOOGLE热点关键词网站及数据收集 。2.建立私人的小型数据中心（就1GB吧，免费空间的上限） 。3.购买域名进行小规模测试。（暂时只用程序实现伪原创，标题偶尔改为原创。）4.同步到各大型的SNS。5.实现GOOGLE广告</p>
<p>成功的标准：若该测试在未来半年内可以产生1000元/月的收入，则认为该方法可行，则扩大测试为独立服务器。估计成功率较大。以目前的经验来说1000元实现不难。</p>
<p>如二期测试成功：则计划以此兼职开个小公司，请些人手进行三期测试。</p>
<p>模式若成功。直接跳开技术流。期待投资。</p>
<p><strong><br />
</strong></p>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.trackself.com%2Farchives%2F2043.html&amp;title=drupal-crawler%E7%9A%84%E5%85%AC%E5%8F%B8%E8%AE%A1%E5%88%92%EF%BC%9A" id="wpa2a_16"><img src="http://www.trackself.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.trackself.com/archives/2043.html/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>drupal anywhere18:批量添加分类</title>
		<link>http://www.trackself.com/archives/2032.html</link>
		<comments>http://www.trackself.com/archives/2032.html#comments</comments>
		<pubDate>Mon, 16 Apr 2012 14:26:35 +0000</pubDate>
		<dc:creator>黎 浩江</dc:creator>
				<category><![CDATA[未分类]]></category>
		<category><![CDATA[drupal anywhere]]></category>

		<guid isPermaLink="false">http://www.trackself.com/?p=2032</guid>
		<description><![CDATA[好久没写drupal anywhere 了,最近有个项目,要一下子添加1000个分类的,分类都在excel中. 使用本文的代码前,你需要先弄明白&#8221;drupal anywhere 7 : chdir , 整理好drupal anywhere的文件&#8221; , 这是drupal anywhere的核心. 文中的代码你可以直接复制,如果你要求解析的话,主要看:&#8221;drupal anywhere 10: db_query_range,db_fetch_object,文章列表&#8221; 例如我们要增加一个分类叫:&#8221;测试&#8221; , 则直接运行 trackselftools_addterm(&#34;测试&#34;)即可 function trackselftools_addterm($term=&#34;&#34;,$vid=1,$parent=0){ //增加分类,返回分类id， //print addterm(&#34;这是一个测试10&#34;); $term=trim($term); if(empty($term)) return 1; static $result; if(isset($result[$term])){ return $result[$term]; } //检查是否存在此term $sql=&#34;SELECT tid FROM `term_data` WHERE `name` = '%s' &#34;; $db=db_query_range($sql,$term,0,1); $row=db_fetch_object($db); if($row){ //print &#34;not&#34;; $result[$term]=$row-&#38;gt;tid; return $result[$term]; [...]]]></description>
			<content:encoded><![CDATA[<p>好久没写drupal anywhere 了,最近有个项目,要一下子添加1000个分类的,分类都在excel中.</p>
<p>使用本文的代码前,你需要先弄明白&#8221;<a href=" http://www.trackself.com/archives/453.html">drupal anywhere 7 : chdir , 整理好drupal anywhere的文件</a>&#8221; , 这是drupal anywhere的核心.</p>
<p>文中的代码你可以直接复制,如果你要求解析的话,主要看:&#8221;<a href="http://www.trackself.com/archives/551.html">drupal anywhere 10: db_query_range,db_fetch_object,文章列表</a>&#8221;</p>
<p>例如我们要增加一个分类叫:&#8221;测试&#8221; , 则直接运行</p>
<pre class="wp-code-highlight prettyprint">trackselftools_addterm(&quot;测试&quot;)即可</pre>
<pre class="wp-code-highlight prettyprint">function trackselftools_addterm($term=&quot;&quot;,$vid=1,$parent=0){
//增加分类,返回分类id，
//print addterm(&quot;这是一个测试10&quot;);
   $term=trim($term);
   if(empty($term)) return 1;
   static $result;
   if(isset($result[$term])){
	  return $result[$term];
   }
   //检查是否存在此term
    $sql=&quot;SELECT tid FROM `term_data` WHERE `name` = '%s' &quot;;
  $db=db_query_range($sql,$term,0,1);
  $row=db_fetch_object($db);
  if($row){
	  //print &quot;not&quot;;
	$result[$term]=$row-&amp;gt;tid;
	return $result[$term];
  }
  //print &quot;new&quot;;
  //下面插入新的term
  $obj=array(
  'name'=&amp;gt;$term,
  'vid'=&amp;gt;$vid,
  'parent'=&amp;gt;array($parent),
  );
 taxonomy_save_term($obj);
 $result[$term]=$obj['tid'];
 //print_r($term);
 return $result[$term];

}</pre>
<p><strong>buy me a coffee:</strong><a href="http://me.alipay.com/trackself">http://me.alipay.com/trackself</a><br />
<strong>QQ群:227600605</strong><br />
关于drupal anywhere 及 drupal crawler cms</p>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.trackself.com%2Farchives%2F2032.html&amp;title=drupal%20anywhere18%3A%E6%89%B9%E9%87%8F%E6%B7%BB%E5%8A%A0%E5%88%86%E7%B1%BB" id="wpa2a_20"><img src="http://www.trackself.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.trackself.com/archives/2032.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>drupal-crawler开发笔记</title>
		<link>http://www.trackself.com/archives/2024.html</link>
		<comments>http://www.trackself.com/archives/2024.html#comments</comments>
		<pubDate>Mon, 16 Apr 2012 13:59:21 +0000</pubDate>
		<dc:creator>黎 浩江</dc:creator>
				<category><![CDATA[drupal]]></category>

		<guid isPermaLink="false">http://www.trackself.com/?p=2024</guid>
		<description><![CDATA[为免主文太长,将开发笔记转出 2012-3-30:fixed了一些BUG,因为和一个师兄合作建一个新站,根据其要求增加了同步大型SNS的功能;计划将wordpress写为只输入主页即可整站爬行的模式.(该版本将待代码成熟后及更多朋友使用后发布) 2012-3-31:注:目前可以下载的版本我在bluehost上用了1年半,基本上所有功能已经有的,缺的只是文档,希望感兴趣的朋友可以继续写使用经验.新版本最多只是FIX一些BUGS,基本无新功能.多个分页的批量下载是可以参考drupal anywhere实现的,只是文档问题.新版本会在我和一个朋友合作的另一个采集站发布后发布,该采集站将会作为示例,所以我会非常认真改的.新的功能和采集无关,只是一些SEO功能. 2012-4-4:在发行了2012-4-3版后,有个朋友联系我做一个项目,他需要下载50万张图片,在下载的过程吧,我自己的WIN的APACHE经常出现CPU过高及下载图片速度过慢问题,于是再次修改了core,单单下载方面,提高了5倍速度,企业级了,哈哈,对比了一个网上找的C++图片下载软件叫globalfetch的,居然速度要稍快一些.特此记录.该修改会在下个版本发布.并且CPU不再过快了.小于5%占用了. 2012-4-12:由于看到http://www.drupalla.com/node/249中的瀑布流技术,准备为drupal crawler cms开发一个瀑布流的默认模版 2012-4-13:终于将性能改得完美了,每时每刻都能保持在一定的线程并发下,使得并发性能提高,节约CPU.至此.core code 基本定下来了.余下将会完成基本功能的进一步定制. 2012-4-17: 接到一个新项目,进一步完善程序了:下个版本,将会直接有一个功能:将图片自动下载到本地]]></description>
			<content:encoded><![CDATA[<p>为免主文太长,将开发笔记转出</p>
<p>2012-3-30:fixed了一些BUG,因为和一个师兄合作建一个新站,根据其要求增加了同步大型SNS的功能;计划将wordpress写为只输入主页即可整站爬行的模式.(该版本将待代码成熟后及更多朋友使用后发布)<br />
2012-3-31:注:目前可以下载的版本我在bluehost上用了1年半,基本上所有功能已经有的,缺的只是文档,希望感兴趣的朋友可以继续写使用经验.新版本最多只是FIX一些BUGS,基本无新功能.多个分页的批量下载是可以参考drupal anywhere实现的,只是文档问题.新版本会在我和一个朋友合作的另一个采集站发布后发布,该采集站将会作为示例,所以我会非常认真改的.新的功能和采集无关,只是一些SEO功能.<br />
2012-4-4:在发行了2012-4-3版后,有个朋友联系我做一个项目,他需要下载50万张图片,在下载的过程吧,我自己的WIN的APACHE经常出现CPU过高及下载图片速度过慢问题,于是再次修改了core,单单下载方面,提高了5倍速度,企业级了,哈哈,对比了一个网上找的C++图片下载软件叫globalfetch的,居然速度要稍快一些.特此记录.该修改会在下个版本发布.并且CPU不再过快了.小于5%占用了.<br />
2012-4-12:由于看到http://www.drupalla.com/node/249中的瀑布流技术,准备为drupal crawler cms开发一个瀑布流的默认模版</p>
<p>2012-4-13:终于将性能改得完美了,每时每刻都能保持在一定的线程并发下,使得并发性能提高,节约CPU.至此.core code 基本定下来了.余下将会完成基本功能的进一步定制.</p>
<p>2012-4-17: 接到一个新项目,进一步完善程序了:下个版本,将会直接有一个功能:将图片自动下载到本地</p>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.trackself.com%2Farchives%2F2024.html&amp;title=drupal-crawler%E5%BC%80%E5%8F%91%E7%AC%94%E8%AE%B0" id="wpa2a_24"><img src="http://www.trackself.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.trackself.com/archives/2024.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>drupal-crawler安装问题集合</title>
		<link>http://www.trackself.com/archives/2021.html</link>
		<comments>http://www.trackself.com/archives/2021.html#comments</comments>
		<pubDate>Mon, 16 Apr 2012 13:55:51 +0000</pubDate>
		<dc:creator>黎 浩江</dc:creator>
				<category><![CDATA[未分类]]></category>

		<guid isPermaLink="false">http://www.trackself.com/?p=2021</guid>
		<description><![CDATA[该文分开说明drupal-crawler安装问题,免得主文太长 1.BUG是一定有的. 2.我知道DEDE等的采集都已经很强大.事实上我觉得最大的特色不在于采集,而在于下载图片和上传图片到PICASA,如果你没这个需求,不如用DEDE等国内成熟的采集软件. 3.以后会开源的,等我看到真有人用再说.到时会放到GOOGLE CODE 已知bug: 1.我现在用的你的X.ZIP总提示我要升级到6.25，其实我已经升级了&#8212;-我写代码的时候手贱,将一个模块的名字改成了album,在这个模块的albumdb.info中的版本号改为最新的drupal版本号就行了 2.getimagesize或imagesy也好:php只是取得图片的前12byte来准定图片大小,但有时候这并不是.上传图片的时候,真实图片大小与图片中的信息不对应,似乎PHP没办法解决 3.godaddy空间,并没有mime_content_type函数支持,使得上传到picasa会出错,下个版本的时候会改过来,事实上在别的模块加写个function_exists可以绕开这个问题 4.似乎https的图片下载会有问题,不过凡是https开头的图片,都可以改为http的.容易改.但暂时没有此需求 5.回复各位保护文件的办法,例如cron_image.php的保护:可以在首行加入: $savecode=$_GET['XXXXX']; if($savecode!==&#8217;XXXXXXx&#8217;)exit; 6.如果出现:安装无法进入后台.请重新安装,这有可能是PHP max运行时间设置太短造成 7.某天在别人的WIN上配置drupal-crawler:安装正常,但制作规则时出错,说表albumdb,crawler_action不存在,mysql认为blob不能为空:解决办法:手动创建两个表:,请执行以下SQL: CREATE TABLE IF NOT EXISTS `crawler_action` ( `aid` int(11) NOT NULL AUTO_INCREMENT, `name` tinytext NOT NULL, `type` tinytext NOT NULL, `url` mediumtext, `input` longblob, `code` longblob, `timestamp` int(10) unsigned NOT NULL DEFAULT '0', `enable` int(10) unsigned NOT NULL DEFAULT [...]]]></description>
			<content:encoded><![CDATA[<p>该文分开说明drupal-crawler安装问题,免得主文太长</p>
<p>1.BUG是一定有的.<br />
2.我知道DEDE等的采集都已经很强大.事实上我觉得最大的特色不在于采集,而在于下载图片和上传图片到PICASA,如果你没这个需求,不如用DEDE等国内成熟的采集软件.<br />
3.以后会开源的,等我看到真有人用再说.到时会放到GOOGLE CODE</p>
<p>已知bug:<br />
1.我现在用的你的X.ZIP总提示我要升级到6.25，其实我已经升级了&#8212;-我写代码的时候手贱,将一个模块的名字改成了album,在这个模块的albumdb.info中的版本号改为最新的drupal版本号就行了<br />
2.getimagesize或imagesy也好:php只是取得图片的前12byte来准定图片大小,但有时候这并不是.上传图片的时候,真实图片大小与图片中的信息不对应,似乎PHP没办法解决<br />
3.godaddy空间,并没有mime_content_type函数支持,使得上传到picasa会出错,下个版本的时候会改过来,事实上在别的模块加写个function_exists可以绕开这个问题<br />
4.似乎https的图片下载会有问题,不过凡是https开头的图片,都可以改为http的.容易改.但暂时没有此需求</p>
<p>5.回复各位保护文件的办法,例如cron_image.php的保护:可以在首行加入:</p>
<p>$savecode=$_GET['XXXXX'];<br />
if($savecode!==&#8217;XXXXXXx&#8217;)exit;</p>
<p>6.如果出现:安装无法进入后台.请重新安装,这有可能是PHP max运行时间设置太短造成</p>
<p>7.某天在别人的WIN上配置drupal-crawler:安装正常,但制作规则时出错,说表albumdb,crawler_action不存在,mysql认为blob不能为空:解决办法:手动创建两个表:,请执行以下SQL:</p>
<pre>
CREATE TABLE IF NOT EXISTS `crawler_action` (<br />
  `aid` int(11) NOT NULL AUTO_INCREMENT,<br />
  `name` tinytext NOT NULL,<br />
  `type` tinytext NOT NULL,<br />
  `url` mediumtext,<br />
  `input` longblob,<br />
  `code` longblob,<br />
  `timestamp` int(10) unsigned NOT NULL DEFAULT '0',<br />
  `enable` int(10) unsigned NOT NULL DEFAULT '1',<br />
  `crontime` int(10) unsigned NOT NULL DEFAULT '0',<br />
  `taxonomy` tinytext NOT NULL,<br />
  `tid` int(10) unsigned DEFAULT '0',<br />
  UNIQUE KEY `aid` (`aid`)<br />
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=1;<br />
CREATE TABLE IF NOT EXISTS `albumdb` (<br />
  `aid` int(11) NOT NULL AUTO_INCREMENT,<br />
  `nid` int(10) unsigned DEFAULT '0',<br />
  `url` tinytext NOT NULL,<br />
  `width` int(10) unsigned DEFAULT '0',<br />
  `height` int(10) unsigned DEFAULT '0',<br />
  `size` int(10) unsigned DEFAULT '0',<br />
  PRIMARY KEY (`aid`),<br />
  KEY `nid` (`nid`)<br />
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;</p>
<pre>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.trackself.com%2Farchives%2F2021.html&amp;title=drupal-crawler%E5%AE%89%E8%A3%85%E9%97%AE%E9%A2%98%E9%9B%86%E5%90%88" id="wpa2a_28"><img src="http://www.trackself.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.trackself.com/archives/2021.html/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>drupal-crawler使用文档:采集wordpress的通用代码,并介绍CODE页面</title>
		<link>http://www.trackself.com/archives/2014.html</link>
		<comments>http://www.trackself.com/archives/2014.html#comments</comments>
		<pubDate>Sun, 15 Apr 2012 13:01:56 +0000</pubDate>
		<dc:creator>黎 浩江</dc:creator>
				<category><![CDATA[drupal]]></category>

		<guid isPermaLink="false">http://www.trackself.com/?p=2014</guid>
		<description><![CDATA[该文属于drupal-crawler CMS的使用说明文档, 请到主文章 drupal-crawler发布，基于drupal的采集CMS,一起淘美金吧,alpha 中下载该CMS. 写该文目的:实现采集大部分WORDPRESS,世界上70%的英文网站是用WORDPRESS做的,实现可采WP,基本可以解决70%文章内源了(当然,天朝的站另说) 采集要实现有针对性:大部分是需要写代码的,否则你采回来的数据又有JS又有广告,又有你不想要的内容没有意义.另外还要做伪原创,否则采集站很快会被GOOGLE认为是垃圾而失去流量,所以不要期望有一个不需要用脑的采集程序又能赚钱的. drupal-crawler code页面是整个drupal-crawler-cms的接口,所有的form最终都会生成适用于code页面的代码 1.进入drupaladmin/webcrawler/actions/codes 2.下面这段代码几乎适用于50%的WORDPRESS(国外,不要跟我说天朝的WORDPRESS),我会注释指出你需要改动的地方,将之复制进code页面: 另看我注释了很多,我自己一般只改两个地方:1.URL 2.multirun函数中内容标记 ,余下就是debug了.用下面的方法,改改,我暂时没有遇到不能被采集的WORDPRESS! $termid=3;//这个是drupal分类ID,你想采集回来的文章放在这个分类下的话就改 $t=new crawler2lever; $t-&#38;gt;checkUtf8=0;//如果网站是用gb2312的话,就要转码,你采中文站的时候,如果看到乱码就改为1 $x=$t-&#38;gt;main(&#34;http://www.xxxxxx.com/&#34;,&#34;h2&#38;gt;a&#34;);//改为WORDPRESS的URL,大部分wordpress的标题是在h2标签下的,a是指连接 $links=$t-&#38;gt;returnLinks($x); //return print_r($links,TRUE);//这段代码很重要,去掉注释标记就是用于测试 if(1){//1的时候表示采集回来的URL不能重复 foreach($links as $ke=&#38;gt;$title){ $sql=&#34;SELECT nid FROM {content_type_webcrawler} WHERE field_webcrawler_url_value = '%s'&#34;; $db=db_query($sql,$ke); if(db_fetch_object($db)){ unset($links[$ke]); } } } //$links=array_slice($links,1,1);////这段代码用于测试,将文章数减小为1,节约测试时间 //return print_r($links,TRUE); if(empty($links)){ return &#34;already exist some nodes&#34;; } $temp=$t-&#38;gt;multirun($links,&#34;div@class=entry-content&#34;,&#34;&#34;,&#34;&#34;,0,1,1);//div@class=entry-content表示wordpress的内容放在这个DIV下,30%的wp是这样的 foreach($temp as $keyt=&#38;gt;$me){ $me[2]=normalHtml($me[2],$keyt);//还原url,这行可加可不加 $nid=webcrawler_createnode(&#34;webcrawler&#34;,$me[1],$me[2],array($termid),&#34;field_webcrawler_url&#34;,$keyt,&#34;field_webcrawler_aid&#34;,$formaid,0);//最后的0代表不立即发布,改为1则立即发布 } [...]]]></description>
			<content:encoded><![CDATA[<p>该文属于drupal-crawler CMS的使用说明文档,</p>
<p>请到主文章 <a href="http://www.trackself.com/archives/1853.html">drupal-crawler发布，基于drupal的采集CMS,一起淘美金吧,alpha</a> 中下载该CMS.</p>
<p>写该文目的:实现采集大部分WORDPRESS,世界上70%的英文网站是用WORDPRESS做的,实现可采WP,基本可以解决70%文章内源了(当然,天朝的站另说)</p>
<p>采集要实现有针对性:大部分是需要写代码的,否则你采回来的数据又有JS又有广告,又有你不想要的内容没有意义.另外还要做伪原创,否则采集站很快会被GOOGLE认为是垃圾而失去流量,所以不要期望有一个不需要用脑的采集程序又能赚钱的.</p>
<p>drupal-crawler code页面是整个drupal-crawler-cms的接口,所有的form最终都会生成适用于code页面的代码</p>
<p>1.进入drupaladmin/webcrawler/actions/codes</p>
<p>2.下面这段代码几乎适用于50%的WORDPRESS(国外,不要跟我说天朝的WORDPRESS),我会注释指出你需要改动的地方,将之复制进code页面:<br />
<span style="color: #ff0000;">另看我注释了很多,我自己一般只改两个地方:1.URL 2.multirun函数中内容标记 ,余下就是debug了.用下面的方法,改改,我暂时没有遇到不能被采集的WORDPRESS!</span></p>
<pre class="wp-code-highlight prettyprint">$termid=3;//这个是drupal分类ID,你想采集回来的文章放在这个分类下的话就改
$t=new crawler2lever;
$t-&amp;gt;checkUtf8=0;//如果网站是用gb2312的话,就要转码,你采中文站的时候,如果看到乱码就改为1
$x=$t-&amp;gt;main(&quot;http://www.xxxxxx.com/&quot;,&quot;h2&amp;gt;a&quot;);//改为WORDPRESS的URL,大部分wordpress的标题是在h2标签下的,a是指连接
$links=$t-&amp;gt;returnLinks($x);
//return print_r($links,TRUE);//这段代码很重要,去掉注释标记就是用于测试

if(1){//1的时候表示采集回来的URL不能重复
			foreach($links as $ke=&amp;gt;$title){
			   	$sql=&quot;SELECT nid FROM {content_type_webcrawler} WHERE field_webcrawler_url_value = '%s'&quot;;
				$db=db_query($sql,$ke);
				if(db_fetch_object($db)){
					unset($links[$ke]);
				}
			}
}
//$links=array_slice($links,1,1);////这段代码用于测试,将文章数减小为1,节约测试时间
//return print_r($links,TRUE);
if(empty($links)){
  return &quot;already exist some nodes&quot;;
}

$temp=$t-&amp;gt;multirun($links,&quot;div@class=entry-content&quot;,&quot;&quot;,&quot;&quot;,0,1,1);//div@class=entry-content表示wordpress的内容放在这个DIV下,30%的wp是这样的

foreach($temp as $keyt=&amp;gt;$me){

        $me[2]=normalHtml($me[2],$keyt);//还原url,这行可加可不加

	$nid=webcrawler_createnode(&quot;webcrawler&quot;,$me[1],$me[2],array($termid),&quot;field_webcrawler_url&quot;,$keyt,&quot;field_webcrawler_aid&quot;,$formaid,0);//最后的0代表不立即发布,改为1则立即发布

}	

//return print_r($me[2],TRUE);
$t=NULL;$temp=NULL;$links=NULL;</pre>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.trackself.com%2Farchives%2F2014.html&amp;title=drupal-crawler%E4%BD%BF%E7%94%A8%E6%96%87%E6%A1%A3%3A%E9%87%87%E9%9B%86wordpress%E7%9A%84%E9%80%9A%E7%94%A8%E4%BB%A3%E7%A0%81%2C%E5%B9%B6%E4%BB%8B%E7%BB%8DCODE%E9%A1%B5%E9%9D%A2" id="wpa2a_32"><img src="http://www.trackself.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.trackself.com/archives/2014.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>drupal-crawler的核心文档:找到页面所有连接,以取得GOOGLE最热门的关键词为例</title>
		<link>http://www.trackself.com/archives/2002.html</link>
		<comments>http://www.trackself.com/archives/2002.html#comments</comments>
		<pubDate>Wed, 11 Apr 2012 09:32:30 +0000</pubDate>
		<dc:creator>黎 浩江</dc:creator>
				<category><![CDATA[drupal]]></category>

		<guid isPermaLink="false">http://www.trackself.com/?p=2002</guid>
		<description><![CDATA[该文属于drupal-crawler CMS的开发文档,类webcrawler_core.module 请到主文章 drupal-crawler发布，基于drupal的采集CMS,一起淘美金吧,alpha 中下载该类,找到其中的./webcrawler_core.module.(该类可用于任何的PHP程序,不一定要在该CMS中使用) drupal crawler cms是采集CMS,那么必须要解决的问题是如何找到HTML中的所有连接,所有图片的URL,或者别的属性,例如找到所有的style也行; 下面以取得GOOGLE最热门的关键词为例:(这对SEO及吸引欧美流量相当有用,我有一个未发布的代码就是在标题中适当加上这些关键词) 即http://www.google.com/trends/hottrends (由于是GOOGLE产品,下面的代码在中国不一定能正常输出,请在国外服务器运行) &#160; require_once "./webcrawler_core.module"; $url="http://www.google.com/trends/hottrends/atom/hourly"; $t=new crawler2lever; $x=$t-&#62;main($url,"a"); $links=$t-&#62;returnLinks($x); print_r($links); $t=NULL; 其核心类其实是调用了下面的code: $sp=new splitUrl; $sp->html=$html; $sp->preg="/]*>/isx";//找出image//此行可不写 $sp->pattern="src";//此行可不写 $sp->urlOnly(); print_r($sp->urls); $sp=NULL; 注:有很多优秀的PHP-class做得更好,如tidy html,问题在于这些class非常占内存,这些class会将HTML分析得非常彻底,所以性能是个问题.所以不太适合我个人用(我暂时只能买一个月100刀以下的服务器). 如果你有很强大的服务器,我建议不一定要使用我的类,你可以使用tidy html,再结合drupal crawler其余核心文档去自己写代码也行的.]]></description>
			<content:encoded><![CDATA[<p>该文属于drupal-crawler CMS的开发文档,类webcrawler_core.module</p>
<p>请到主文章 <a href="http://www.trackself.com/archives/1853.html">drupal-crawler发布，基于drupal的采集CMS,一起淘美金吧,alpha</a> 中下载该类,找到其中的./webcrawler_core.module.(该类可用于任何的PHP程序,不一定要在该CMS中使用)</p>
<p>drupal crawler cms是采集CMS,那么必须要解决的问题是如何找到HTML中的所有连接,所有图片的URL,或者别的属性,例如找到所有的style也行;</p>
<p>下面以取得GOOGLE最热门的关键词为例:(这对SEO及吸引欧美流量相当有用,我有一个未发布的代码就是在标题中适当加上这些关键词)</p>
<p>即<a href="http://www.google.com/trends/hottrends">http://www.google.com/trends/hottrends</a> (由于是GOOGLE产品,下面的代码在中国不一定能正常输出,请在国外服务器运行)</p>
<p>&nbsp;</p>
<p><code><br />
require_once "./webcrawler_core.module";<br />
$url="http://www.google.com/trends/hottrends/atom/hourly";<br />
$t=new crawler2lever;<br />
$x=$t-&gt;main($url,"a");<br />
$links=$t-&gt;returnLinks($x);<br />
print_r($links);<br />
$t=NULL;</code><br />
其核心类其实是调用了下面的code:<br />
<code>$sp=new splitUrl;<br />
  $sp->html=$html;<br />
  $sp->preg="/<\s*img[^>]*>/isx";//找出image//此行可不写<br />
  $sp->pattern="src";//此行可不写<br />
  $sp->urlOnly();<br />
  print_r($sp->urls);<br />
$sp=NULL;</code></p>
<p>注:有很多优秀的PHP-class做得更好,如tidy html,问题在于这些class非常占内存,这些class会将HTML分析得非常彻底,所以性能是个问题.所以不太适合我个人用(我暂时只能买一个月100刀以下的服务器).</p>
<p>如果你有很强大的服务器,我建议不一定要使用我的类,你可以使用tidy html,再结合drupal crawler其余核心文档去自己写代码也行的.</p>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.trackself.com%2Farchives%2F2002.html&amp;title=drupal-crawler%E7%9A%84%E6%A0%B8%E5%BF%83%E6%96%87%E6%A1%A3%3A%E6%89%BE%E5%88%B0%E9%A1%B5%E9%9D%A2%E6%89%80%E6%9C%89%E8%BF%9E%E6%8E%A5%2C%E4%BB%A5%E5%8F%96%E5%BE%97GOOGLE%E6%9C%80%E7%83%AD%E9%97%A8%E7%9A%84%E5%85%B3%E9%94%AE%E8%AF%8D%E4%B8%BA%E4%BE%8B" id="wpa2a_36"><img src="http://www.trackself.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.trackself.com/archives/2002.html/feed</wfw:commentRss>
		<slash:comments>14</slash:comments>
		</item>
		<item>
		<title>亚力山大,域名真的被墙了</title>
		<link>http://www.trackself.com/archives/1989.html</link>
		<comments>http://www.trackself.com/archives/1989.html#comments</comments>
		<pubDate>Wed, 04 Apr 2012 09:59:37 +0000</pubDate>
		<dc:creator>黎 浩江</dc:creator>
				<category><![CDATA[骂街发泄]]></category>

		<guid isPermaLink="false">http://www.trackself.com/?p=1989</guid>
		<description><![CDATA[严格来说,应该叫&#8221;域名被间歇性屏蔽&#8221; GFW的发明者:此作俑者,无有后乎? 可以PING通,但国内就是访问不上,穿上代理后就访问正常 百度一下:处理方法就是删除敏感信息词条,我晕,我哪找这些关键词啊 结果就是访问域名是打不开的，但是解析是正常的。此时域名在国内是无法使用的，国外可以访问和使用。 &#160;]]></description>
			<content:encoded><![CDATA[<p>严格来说,应该叫&#8221;<strong>域名被间歇性屏蔽</strong>&#8221;</p>
<p>GFW的发明者:此作俑者,无有后乎?</p>
<p>可以PING通,但国内就是访问不上,穿上代理后就访问正常</p>
<p>百度一下:处理方法就是删除敏感信息词条,我晕,我哪找这些关键词啊</p>
<p>结果就是访问域名是打不开的，但是解析是正常的。此时域名在国内是无法使用的，国外可以访问和使用。</p>
<p>&nbsp;</p>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.trackself.com%2Farchives%2F1989.html&amp;title=%E4%BA%9A%E5%8A%9B%E5%B1%B1%E5%A4%A7%2C%E5%9F%9F%E5%90%8D%E7%9C%9F%E7%9A%84%E8%A2%AB%E5%A2%99%E4%BA%86" id="wpa2a_40"><img src="http://www.trackself.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.trackself.com/archives/1989.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>drupal-crawler的核心文档:一个PHP并发下载类,webcrawler_core.module</title>
		<link>http://www.trackself.com/archives/1977.html</link>
		<comments>http://www.trackself.com/archives/1977.html#comments</comments>
		<pubDate>Tue, 03 Apr 2012 13:51:27 +0000</pubDate>
		<dc:creator>黎 浩江</dc:creator>
				<category><![CDATA[drupal]]></category>
		<category><![CDATA[curl并发]]></category>
		<category><![CDATA[php并发]]></category>
		<category><![CDATA[并发下载图片]]></category>

		<guid isPermaLink="false">http://www.trackself.com/?p=1977</guid>
		<description><![CDATA[该文属于drupal-crawler的开发文档.类及函数的文档一个个上来。 webcrawler_core.module 有5个类及几个常用的采集函数，其中三个是并发下载类，两个是HTML分析类，目前3000行代码。HTML分析类独立写出来是为了节省性能，下载到的tidy等HTML分析类都太耗内存和CPU了，bluehost用不起，而且我只为采集用，其它功能不想用到。 该类下载地址:请到主文章 drupal-crawler发布，基于drupal的采集CMS,一起淘美金吧,alpha 中下载模块,找到其中的./webcrawler_core.module.(该类可用于任何的PHP程序,不一定要在该CMS中使用) 开发的源码来源于我早期的一段代码,当然,大改了:http://www.trackself.com/archives/463.html drupal-crawler这个CMS最重要的核心就在于PHP并发下载,是在webcrawler_core.module文件中实现的 下面的一个示例函数并发下载图片.php curl 并发下载图片函数示例，html的类就叫downHTML了，并发下载文件就是multidown&#8230;.  require_once "./webcrawler_core.module"; downloadimages(); function downloadimages(){ //下载图片的测试 $t=array( &#8216;http://photo3.jpg&#8217;, &#8216;http://photo1.jpg&#8217;, &#8216;http://photo5.jpg&#8217;, ); $x=new downImage; $x-&#62;downeachtime=10;//每图下载10s,可以不写 $x-&#62;input=$t; $x-&#62;download(); print_r($x-&#62;output); $x=NULL; print &#8221; &#8220;; }]]></description>
			<content:encoded><![CDATA[<p>该文属于drupal-crawler的开发文档.类及函数的文档一个个上来。</p>
<p>webcrawler_core.module</p>
<p>有5个类及几个常用的采集函数，其中三个是并发下载类，两个是HTML分析类，目前3000行代码。HTML分析类独立写出来是为了节省性能，下载到的tidy等HTML分析类都太耗内存和CPU了，bluehost用不起，而且我只为采集用，其它功能不想用到。</p>
<p>该类下载地址:请到主文章 <a href="http://www.trackself.com/archives/1853.html">drupal-crawler发布，基于drupal的采集CMS,一起淘美金吧,alpha</a> 中下载模块,找到其中的./webcrawler_core.module.(该类可用于任何的PHP程序,不一定要在该CMS中使用)</p>
<p>开发的源码来源于我早期的一段代码,当然,大改了:http://www.trackself.com/archives/463.html</p>
<p>drupal-crawler这个CMS最重要的核心就在于PHP并发下载,是在webcrawler_core.module文件中实现的</p>
<p>下面的一个示例函数并发下载图片.php curl 并发下载图片函数示例，html的类就叫downHTML了，并发下载文件就是multidown&#8230;. <br />
<code>require_once "./webcrawler_core.module";<br />
downloadimages();</code></p>
<p>function downloadimages(){<br />
//下载图片的测试<br />
$t=array(<br />
&#8216;http://photo3.jpg&#8217;,<br />
&#8216;http://photo1.jpg&#8217;,<br />
&#8216;http://photo5.jpg&#8217;,</p>
<p>);<br />
$x=new downImage;<br />
$x-&gt;downeachtime=10;//每图下载10s,可以不写<br />
$x-&gt;input=$t;<br />
$x-&gt;download();<br />
print_r($x-&gt;output);<br />
$x=NULL;<br />
print &#8221;</p>
<p>&#8220;;</p>
<p>}</p>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.trackself.com%2Farchives%2F1977.html&amp;title=drupal-crawler%E7%9A%84%E6%A0%B8%E5%BF%83%E6%96%87%E6%A1%A3%3A%E4%B8%80%E4%B8%AAPHP%E5%B9%B6%E5%8F%91%E4%B8%8B%E8%BD%BD%E7%B1%BB%2Cwebcrawler_core.module" id="wpa2a_44"><img src="http://www.trackself.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.trackself.com/archives/1977.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>计划任务,在win下每分钟执行任务</title>
		<link>http://www.trackself.com/archives/1970.html</link>
		<comments>http://www.trackself.com/archives/1970.html#comments</comments>
		<pubDate>Mon, 02 Apr 2012 16:28:16 +0000</pubDate>
		<dc:creator>黎 浩江</dc:creator>
				<category><![CDATA[计算机]]></category>

		<guid isPermaLink="false">http://www.trackself.com/?p=1970</guid>
		<description><![CDATA[我印象中,这不是第一次遇到这个问题 因为WIN中是没有wget这个东西的,如果用IE,将会第分钟打开一次IE窗口&#8230;.. 所以先要找个wget in windows,http://wget.addictivecode.org 然后呢,在每次开机的时候运行一个bat,这容易用win的计划任务完成了 (其实我只要不关机,直到他运行完我需要的结果即可) 在一个叫crontab.bat的文件中: C:\server\wget\wget.exe -O - -q -t 1 http://t.localhost/allimages/download.php TIMEOUT /T 5 c:\crontab.bat 我上面这个任务,运行完后,休息5S,然后不断重复执行.]]></description>
			<content:encoded><![CDATA[<p>我印象中,这不是第一次遇到这个问题<br />
因为WIN中是没有wget这个东西的,如果用IE,将会第分钟打开一次IE窗口&#8230;..<br />
所以先要找个wget in windows,http://wget.addictivecode.org<br />
然后呢,在每次开机的时候运行一个bat,这容易用win的计划任务完成了<br />
(其实我只要不关机,直到他运行完我需要的结果即可)<br />
在一个叫crontab.bat的文件中:<br />
<code>C:\server\wget\wget.exe -O - -q -t 1 http://t.localhost/allimages/download.php<br />
TIMEOUT /T 5<br />
c:\crontab.bat</code><br />
我上面这个任务,运行完后,休息5S,然后不断重复执行.</p>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.trackself.com%2Farchives%2F1970.html&amp;title=%E8%AE%A1%E5%88%92%E4%BB%BB%E5%8A%A1%2C%E5%9C%A8win%E4%B8%8B%E6%AF%8F%E5%88%86%E9%92%9F%E6%89%A7%E8%A1%8C%E4%BB%BB%E5%8A%A1" id="wpa2a_48"><img src="http://www.trackself.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.trackself.com/archives/1970.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>drupal views:再一次体会到为何views会慢了,为何drupal又会慢了</title>
		<link>http://www.trackself.com/archives/1967.html</link>
		<comments>http://www.trackself.com/archives/1967.html#comments</comments>
		<pubDate>Mon, 02 Apr 2012 16:11:02 +0000</pubDate>
		<dc:creator>黎 浩江</dc:creator>
				<category><![CDATA[drupal]]></category>

		<guid isPermaLink="false">http://www.trackself.com/?p=1967</guid>
		<description><![CDATA[因为一个项目的原因,我有一个50万行的数据要进行重复的操作.另一个表只有7000行 由于是在我的笔记本上运行,所以我不在乎程序性能, A表:50万行 B表:7万行 select a.*,b.* from a left join b on a.id=b.id 就这么一个查询(当然,程序中间有些 update) 搞到我笔记本运行了50次左右后,笔记本过热当机了 才发现left join啊, 太恐怖了 而views是最喜欢left join的,所以,当你的文章数量多了后,你的drupal必定痛苦 因为无论你的views好,还是原生drupal也好,都会有大量的left join 最典型的就是node_load这个大量调用的函数了. 而唯一能解决这个问题的办法要不就是静态生成,要不就是hook_views,要不就是hack core]]></description>
			<content:encoded><![CDATA[<p>因为一个项目的原因,我有一个50万行的数据要进行重复的操作.另一个表只有7000行<br />
由于是在我的笔记本上运行,所以我不在乎程序性能,<br />
A表:50万行<br />
B表:7万行<br />
select a.*,b.* from a left join b on a.id=b.id<br />
就这么一个查询(当然,程序中间有些 update)<br />
搞到我笔记本运行了50次左右后,笔记本过热当机了<br />
才发现left join啊, 太恐怖了<br />
而views是最喜欢left join的,所以,当你的文章数量多了后,你的drupal必定痛苦<br />
因为无论你的views好,还是原生drupal也好,都会有大量的left join<br />
最典型的就是node_load这个大量调用的函数了.</p>
<p>而唯一能解决这个问题的办法要不就是静态生成,要不就是hook_views,要不就是hack core</p>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.trackself.com%2Farchives%2F1967.html&amp;title=drupal%20views%3A%E5%86%8D%E4%B8%80%E6%AC%A1%E4%BD%93%E4%BC%9A%E5%88%B0%E4%B8%BA%E4%BD%95views%E4%BC%9A%E6%85%A2%E4%BA%86%2C%E4%B8%BA%E4%BD%95drupal%E5%8F%88%E4%BC%9A%E6%85%A2%E4%BA%86" id="wpa2a_52"><img src="http://www.trackself.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.trackself.com/archives/1967.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>shit,域名被GFW盯上了</title>
		<link>http://www.trackself.com/archives/1958.html</link>
		<comments>http://www.trackself.com/archives/1958.html#comments</comments>
		<pubDate>Fri, 30 Mar 2012 18:23:44 +0000</pubDate>
		<dc:creator>黎 浩江</dc:creator>
				<category><![CDATA[骂街发泄]]></category>

		<guid isPermaLink="false">http://www.trackself.com/?p=1958</guid>
		<description><![CDATA[今天很奇怪, 访问http://www.trackself.com只能通过代理访问,但奇怪的是IP能Ping通 我还以为是cloudflare(我的DNS服务器)出问题了,但发现同一IP的另一个站能正常访问 百度了一下原因:原来是被GFW盯上了! 只能通过换IP解决.还好.换IP不是很麻烦的事.]]></description>
			<content:encoded><![CDATA[<p>今天很奇怪,<br />
访问http://www.trackself.com只能通过代理访问,但奇怪的是IP能Ping通<br />
我还以为是cloudflare(我的DNS服务器)出问题了,但发现同一IP的另一个站能正常访问<br />
百度了一下原因:原来是被GFW盯上了!<br />
只能通过换IP解决.还好.换IP不是很麻烦的事.</p>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.trackself.com%2Farchives%2F1958.html&amp;title=shit%2C%E5%9F%9F%E5%90%8D%E8%A2%ABGFW%E7%9B%AF%E4%B8%8A%E4%BA%86" id="wpa2a_56"><img src="http://www.trackself.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.trackself.com/archives/1958.html/feed</wfw:commentRss>
		<slash:comments>14</slash:comments>
		</item>
		<item>
		<title>我经常用到的提高drupal性能的10个hack及代码</title>
		<link>http://www.trackself.com/archives/1930.html</link>
		<comments>http://www.trackself.com/archives/1930.html#comments</comments>
		<pubDate>Mon, 19 Mar 2012 16:23:40 +0000</pubDate>
		<dc:creator>黎 浩江</dc:creator>
				<category><![CDATA[drupal]]></category>

		<guid isPermaLink="false">http://www.trackself.com/?p=1930</guid>
		<description><![CDATA[drupal是框架型网站,所谓框架型:设计的初衷就是为了适应大部分需求,而为了这个适合,必然会有代价,那就是性能. 处理单用户的时候,处理1000个用户的时候,也用同样的代码,那么,显然,这个时候就会有性能多余了. 处理单语言的时候,处理多语言的时候,也用同样的代码,显然也是性能多余了. 处理少量文章的时候,处理极大量文章的时候,也用同样的代码,显然也是性能多余了. 由于经常用到,为方便自己查找,建立这个页面. 下面是我的drupal项目中经常用到的提高性能的方法及详细文章连接(都原创哦) 1.lamp模式,boost模块,cacherouter模块,opcode的安装.这些没什么好说的,安装好就行了. 2.drupal6默认最多只能cache 1天的数据，我们需要缓存1周的 这明显不足的，所以我改了 /modules/system/system.admin.inc  里的system_performance_settings函数，没大改，只增加了几个数字drupal_map_assoc(array(0, 60, 180, 300, 600, 900, 1800, 2700, 3600, 10800, 21600, 32400, 43200, 86400,172800,604800,1209600,2419200) 即将缓存的数据从最多一天增加到最多四周 3.clear_cache_all,清空所有缓存, 这个函数会在每次的node_save(新增或者修改文章或者增加评论)的时候执行,这对经常有文章发表的站来说,是个致命伤. 试想一下,假设你设置缓存为1天,但每1小时就有一次node_save(即文章改变),那么你这个缓存设置为1天是极不合理的. 于是我hack了/includes/common.inc， 原先的： cache_set($base_root . request_uri(), $data, &#8216;cache_page&#8217;, CACHE_TEMPORARY, drupal_get_headers()); 改为了 if(arg(0)==&#8221;node&#8221; &#38;&#38; is_numeric(arg(1))){ //当是node的时候，则储存,有个不足的地方则是当comment时，目前我comment不多，暂不考虑 $newtime=time()+variable_get(&#8216;cache_lifetime&#8217;, 0); }else{ //如果是index，分类页等，则使用drupal的原机制（我的分类不多） $newtime=CACHE_TEMPORARY; } cache_set($base_root . request_uri(), $data, &#8216;cache_page&#8217;, $newtime, [...]]]></description>
			<content:encoded><![CDATA[<p>drupal是框架型网站,所谓框架型:设计的初衷就是为了适应大部分需求,而为了这个适合,必然会有代价,那就是性能.</p>
<p>处理单用户的时候,处理1000个用户的时候,也用同样的代码,那么,显然,这个时候就会有性能多余了.</p>
<p>处理单语言的时候,处理多语言的时候,也用同样的代码,显然也是性能多余了.</p>
<p>处理少量文章的时候,处理极大量文章的时候,也用同样的代码,显然也是性能多余了.</p>
<p>由于经常用到,为方便自己查找,建立这个页面.</p>
<p>下面是我的drupal项目中经常用到的提高性能的方法及详细文章连接(都原创哦)</p>
<h3>1.<a href="http://www.trackself.com/archives/1340.html">lamp模式,boost模块,cacherouter模块,opcode的安装.这些没什么好说的,安装好就行了.</a></h3>
<h3>2.drupal6默认最多只能cache 1天的数据，我们需要缓存1周的<span id="more-1930"></span></h3>
<p>这明显不足的，所以我改了</p>
<p>/modules/system/system.admin.inc  里的system_performance_settings函数，没大改，只增加了几个数字drupal_map_assoc(array(0, 60, 180, 300, 600, 900, 1800, 2700, 3600, 10800, 21600, 32400, 43200, 86400,172800,604800,1209600,2419200)</p>
<p>即将缓存的数据从最多一天增加到最多四周</p>
<h3>3.clear_cache_all,清空所有缓存,</h3>
<p>这个函数会在每次的node_save(新增或者修改文章或者增加评论)的时候执行,这对经常有文章发表的站来说,是个致命伤.</p>
<p>试想一下,假设你设置缓存为1天,但每1小时就有一次node_save(即文章改变),那么你这个缓存设置为1天是极不合理的.</p>
<p>于是我hack了/includes/common.inc，</p>
<p>原先的：</p>
<p>cache_set($base_root . request_uri(), $data, &#8216;cache_page&#8217;, CACHE_TEMPORARY, drupal_get_headers());</p>
<p>改为了</p>
<div>
<p>if(arg(0)==&#8221;node&#8221; &amp;&amp; is_numeric(arg(1))){</p>
<p>//当是node的时候，则储存,有个不足的地方则是当comment时，目前我comment不多，暂不考虑</p>
<p>$newtime=time()+variable_get(&#8216;cache_lifetime&#8217;, 0);</p>
<p>}else{</p>
<p>//如果是index，分类页等，则使用drupal的原机制（我的分类不多）</p>
<p>$newtime=CACHE_TEMPORARY;</p>
<p>}</p>
<p>cache_set($base_root . request_uri(), $data, &#8216;cache_page&#8217;, $newtime, drupal_get_headers());</p>
</div>
<h3> 4.<a href="http://www.trackself.com/archives/1728.html">Hack node_load,<span style="text-decoration: underline;">当单用户的时候,</span><span style="text-decoration: underline;">减少读user</span><span style="text-decoration: underline;">表,</span></a><span style="text-decoration: underline;"><a href="http://www.trackself.com/archives/1728.html">性能可以极大的提升</a></span></h3>
<h3>5.<a href="http://www.trackself.com/archives/1722.html">当单语言的时候,改path模块</a></h3>
<p>6.<a href="http://www.trackself.com/archives/1282.html">将一些定时执行的程序使用drupal anywhere的方法调用,并尽量使用DRUPAL_BOOTSTRAP_DATABASE</a></p>
<h3>7.<a href="http://www.trackself.com/archives/1340.html">创建临时表,进一步节约性能.</a></h3>
<h3>8.当大量使用views时,可以考虑使用hook_views_data重组数据,当然,前提是会第7步的创建临时表.</h3>
<h3>9.Sess_write, includes/<a href="http://api.drupal.org/api/drupal/includes%21session.inc/6"><wbr>session.inc</wbr></a>, line 94</h3>
<p>当匿名时: UPDATE sessions SET uid = 0, cache = 0, hostname = &#8217;127.0.0.1&#8242;, session = &#8221;, timestamp = 1332178105 WHERE sid = &#8216;e150a961acf833d8284ee5503cd4f961&#8242;</p>
<p>我们可以hack掉,当uid=0时,直接return,直接节约这个查询</p>
<p>function sess_write($key, $value) {</p>
<p>global $user;</p>
<p>//hack</p>
<p>if($user-&gt;uid==0){</p>
<p>return TRUE;</p>
<p>}</p>
<h3>10.当你的分类数增长不快,或者到一定时间内是固定不变的,</h3>
<p>例如我某个采集站,做到200个分类后基本不会手动增加分类了,这时可以再hack一个drupal_lookup_path,那么结合5,最终的函数如下,该文件极大地提高了反应速度<br />
<code>function drupal_lookup_path($action, $path = '', $path_language = '') {<br />
global $language;<br />
// $map is an array with language keys, holding arrays of Drupal paths to alias relations<br />
static $map = array(), $no_src = array(), $count;</code></p>
<p>//当要查询分类的URL时,由于我的分类数较小,少于1000个分类,所以我直接生成一个cache了<br />
static $map2;//hack<br />
static $xrow;<br />
$cid=&#8221;taxonomycachepath&#8221;;<br />
if($action == &#8216;alias&#8217;){<br />
$y=explode(&#8220;/&#8221;,$path);<br />
$num=array_pop($y);<br />
if(is_numeric($num) &amp;&amp; $path==&#8221;taxonomy/term/&#8221;.$num){//当是分类时<br />
if(!isset($map2)){<br />
$cachedata=cache_get($cid,&#8221;cache&#8221;);<br />
$map2=$cachedata-&gt;data;<br />
}<br />
if(isset($map2[$path])){<br />
return $map2[$path];<br />
}else{<br />
//生成一大堆term的cache<br />
$xdb=db_query(&#8220;SELECT dst FROM {url_alias} WHERE src = &#8216;%s&#8217;&#8221;, $path);<br />
if($xrow=db_fetch_object($xdb)){<br />
$sql=&#8221;SELECT dst,src FROM {url_alias} WHERE src like &#8216;taxonomy/term/%&#8217;&#8221;;<br />
$db=db_query_range($sql,0,1000);//1000可以调整为你有的term的数量的绝对上限,我只有160个分类</p>
<p>while($row=db_fetch_object($db)){<br />
$map2[$path]=$row-&gt;dst;<br />
}<br />
cache_set($cid,$map2,&#8221;cache&#8221;,1209600);//存放2周<br />
if(isset($map2[$path])){<br />
return $map2[$path];<br />
}//若不含,则后继续运行<br />
}//xrow<br />
else{<br />
$map[$path_language][$path] = $path;<br />
$map2[$path]=$path;<br />
return $path;<br />
}</p>
<p>}<br />
}</p>
<p>}</p>
<p>$path_language = $path_language ? $path_language : $language-&gt;language;</p>
<p>/*hack<br />
//我的数据库一定有alias<br />
// Use $count to avoid looking up paths in subsequent calls if there simply are no aliases<br />
if (!isset($count)) {<br />
$count = db_result(db_query(&#8216;SELECT COUNT(pid) FROM {url_alias}&#8217;));<br />
}<br />
*/</p>
<p>if ($action == &#8216;wipe&#8217;) {<br />
$map = array();<br />
$no_src = array();<br />
$count = NULL;<br />
}<br />
elseif ($count &gt; 0 &amp;&amp; $path != &#8221;) {<br />
if ($action == &#8216;alias&#8217;) {<br />
if (isset($map[$path_language][$path])) {<br />
return $map[$path_language][$path];<br />
}<br />
/*<br />
//hack<br />
$alias = db_result(db_query(&#8220;SELECT dst FROM {url_alias} WHERE src = &#8216;%s&#8217; AND language IN(&#8216;%s&#8217;, &#8221;) ORDER BY language DESC, pid DESC&#8221;, $path, $path_language));<br />
*/</p>
<p>$alias = db_result(db_query(&#8220;SELECT dst FROM {url_alias} WHERE src = &#8216;%s&#8217;&#8221;, $path));</p>
<p>$map[$path_language][$path] = $alias;</p>
<p>return $alias;<br />
}<br />
// Check $no_src for this $path in case we&#8217;ve already determined that there<br />
// isn&#8217;t a path that has this alias<br />
elseif ($action == &#8216;source&#8217; &amp;&amp; !isset($no_src[$path_language][$path])) {<br />
// Look for the value $path within the cached $map<br />
$src = FALSE;<br />
if (!isset($map[$path_language]) || !($src = array_search($path, $map[$path_language]))) {<br />
// Get the most fitting result falling back with alias without language<br />
/*<br />
//hack<br />
if ($src = db_result(db_query(&#8220;SELECT src FROM {url_alias} WHERE dst = &#8216;%s&#8217; AND language IN(&#8216;%s&#8217;, &#8221;) ORDER BY language DESC, pid DESC&#8221;, $path, $path_language))) {<br />
*/<br />
if ($src = db_result(db_query(&#8220;SELECT src FROM {url_alias} WHERE dst = &#8216;%s&#8217;&#8221;, $path))) {</p>
<p>$map[$path_language][$src] = $path;</p>
<p>}<br />
else {<br />
// We can&#8217;t record anything into $map because we do not have a valid<br />
// index and there is no need because we have not learned anything<br />
// about any Drupal path. Thus cache to $no_src.<br />
$no_src[$path_language][$path] = TRUE;<br />
}<br />
}<br />
return $src;<br />
}<br />
}</p>
<p>return FALSE;<br />
}</p>
<h3></h3>
<p>(<a href="http://www.trackself.com/archives/1695.html">关于hack core,性能,与drupal anywhere.适合我们的才是好程序,所以不必抗拒hack core</a>)</p>
<p>&nbsp;</p>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.trackself.com%2Farchives%2F1930.html&amp;title=%E6%88%91%E7%BB%8F%E5%B8%B8%E7%94%A8%E5%88%B0%E7%9A%84%E6%8F%90%E9%AB%98drupal%E6%80%A7%E8%83%BD%E7%9A%8410%E4%B8%AAhack%E5%8F%8A%E4%BB%A3%E7%A0%81" id="wpa2a_60"><img src="http://www.trackself.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.trackself.com/archives/1930.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>drupal anywhere : drupal的二次开发,定制自己的CMS</title>
		<link>http://www.trackself.com/archives/1924.html</link>
		<comments>http://www.trackself.com/archives/1924.html#comments</comments>
		<pubDate>Mon, 19 Mar 2012 10:37:35 +0000</pubDate>
		<dc:creator>黎 浩江</dc:creator>
				<category><![CDATA[drupal]]></category>

		<guid isPermaLink="false">http://www.trackself.com/?p=1924</guid>
		<description><![CDATA[最近1方面在做自己新的采集站另一方面就是完善上次上布的基于drupal的采集CMS, 下面分享&#8221;如何对drupal进行二次开发,并定制自己的CMS&#8221; 我准备为我的&#8221;采集CMS&#8221;实现以下功能: 1.在drupal安装的时候,能自动安装一大堆必须的模块,这个功能已经实现了.居体参考:drupal profile:自己制作（改）一个常用的profile (要看明白下面的自动安装,必须 先看懂此文) 2.我希望能在安装的时候将默认主题改掉为blogbuzz,但管理主题使用garland (此文关注) 3.我希望我定制的采集站能有几个示例(暂时还没实现) 在drupal6里,要实现在*.profile文件里(即在安装过程中)安装theme,假设我的安装文件为:profile/crawgirl/crawgirl.profile(这个文件即是我的采集CMS的安装文件了) 需要: 0.http://drupal.org/project/install_profile_api ,下载此模块,在drupal6中,默认的功能已经不能实现,所以要借这些函数了 1.修改hook_profile_modules() ,在里面增加install_profile_api 2.修改hook_profile_tasks,在第一行加install_include(profilename_profile_modules()); profilename要改为crawgirl 3.在hook_profile_tasks中加入 install_default_theme(&#8216;blogbuzz&#8217;); install_admin_theme(&#8216;garland&#8217;); 至此第2点的想法实现install_profile_api模块还有很多有意思的功能,估计能实现我第3点的想法 等这3点的想法都实现的时候,我将会发布采集CMS的第二个版本,到时将会是真的开源.THX all of you 文章主要针对drupal6,drupal7大同小异:]]></description>
			<content:encoded><![CDATA[<p>最近1方面在做自己新的采集站另一方面就是完善上次上布的<a href="http://www.trackself.com/archives/1853.html">基于drupal的采集CMS</a>,<br />
下面分享&#8221;如何对drupal进行二次开发,并定制自己的CMS&#8221;<br />
我准备为我的&#8221;采集CMS&#8221;实现以下功能:<br />
1.在drupal安装的时候,能自动安装一大堆必须的模块,这个功能已经实现了.居体参考:<a href="http://www.trackself.com/archives/1426.html">drupal profile:自己制作（改）一个常用的profile</a></p>
<p>(要看明白下面的自动安装,必须 先看懂此文)<br />
2.我希望能在安装的时候将默认主题改掉为blogbuzz,但管理主题使用garland (此文关注)<br />
3.我希望我定制的采集站能有几个示例(暂时还没实现)</p>
<p><span id="more-1924"></span></p>
<p>在drupal6里,要实现在*.profile文件里(即在安装过程中)安装theme,假设我的安装文件为:profile/crawgirl/crawgirl.profile(这个文件即是我的采集CMS的安装文件了)</p>
<p>需要:</p>
<p>0.<a href="http://drupal.org/project/install_profile_api">http://drupal.org/project/install_profile_api</a> ,下载此模块,在drupal6中,默认的功能已经不能实现,所以要借这些函数了</p>
<p>1.修改hook_profile_modules() ,在里面增加install_profile_api</p>
<p>2.修改hook_profile_tasks,在第一行加install_include(profilename_profile_modules()); profilename要改为crawgirl</p>
<p>3.在hook_profile_tasks中加入</p>
<p>install_default_theme(&#8216;blogbuzz&#8217;);<br />
install_admin_theme(&#8216;garland&#8217;);</p>
<p>至此第2点的想法实现<a href="http://drupal.org/project/install_profile_api">install_profile_api</a>模块还有很多有意思的功能,估计能实现我第3点的想法</p>
<p>等这3点的想法都实现的时候,我将会发布采集CMS的第二个版本,到时将会是真的开源.THX all of you</p>
<p>文章主要针对drupal6,drupal7大同小异:</p>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.trackself.com%2Farchives%2F1924.html&amp;title=drupal%20anywhere%20%3A%20drupal%E7%9A%84%E4%BA%8C%E6%AC%A1%E5%BC%80%E5%8F%91%2C%E5%AE%9A%E5%88%B6%E8%87%AA%E5%B7%B1%E7%9A%84CMS" id="wpa2a_64"><img src="http://www.trackself.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.trackself.com/archives/1924.html/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>加入了点点网的阵型</title>
		<link>http://www.trackself.com/archives/1915.html</link>
		<comments>http://www.trackself.com/archives/1915.html#comments</comments>
		<pubDate>Tue, 13 Mar 2012 20:14:49 +0000</pubDate>
		<dc:creator>黎 浩江</dc:creator>
				<category><![CDATA[免费]]></category>

		<guid isPermaLink="false">http://www.trackself.com/?p=1915</guid>
		<description><![CDATA[以后的文章都会同步发到点点网上了 是个不错的分享网站. http://trackself.diandian.com/ 打算放些心情文章 http://drupalanywhere.diandian.com/ 打算用于整理drupal 的所有文章 还是会先在博客上写完,然后再分享至点点网的,同时点点网又会自动同步,不错啊]]></description>
			<content:encoded><![CDATA[<p>以后的文章都会同步发到点点网上了<br />
是个不错的分享网站.<br />
http://trackself.diandian.com/ 打算放些心情文章<br />
http://drupalanywhere.diandian.com/ 打算用于整理drupal 的所有文章</p>
<p>还是会先在博客上写完,然后再分享至点点网的,同时点点网又会自动同步,不错啊</p>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.trackself.com%2Farchives%2F1915.html&amp;title=%E5%8A%A0%E5%85%A5%E4%BA%86%E7%82%B9%E7%82%B9%E7%BD%91%E7%9A%84%E9%98%B5%E5%9E%8B" id="wpa2a_68"><img src="http://www.trackself.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.trackself.com/archives/1915.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>godaddy 4gh hosting上挂drupal</title>
		<link>http://www.trackself.com/archives/1908.html</link>
		<comments>http://www.trackself.com/archives/1908.html#comments</comments>
		<pubDate>Mon, 12 Mar 2012 21:04:37 +0000</pubDate>
		<dc:creator>黎 浩江</dc:creator>
				<category><![CDATA[godaddy]]></category>

		<guid isPermaLink="false">http://www.trackself.com/?p=1908</guid>
		<description><![CDATA[# If your site is running in a VirtualDocumentRoot at http://example.com/, # uncomment the following line: # RewriteBase / godaddy上要将RewriteBase / 打开才行]]></description>
			<content:encoded><![CDATA[<p> # If your site is running in a VirtualDocumentRoot at http://example.com/,<br />
  # uncomment the following line:<br />
  # RewriteBase /</p>
<p>godaddy上要将RewriteBase / 打开才行</p>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.trackself.com%2Farchives%2F1908.html&amp;title=godaddy%204gh%20hosting%E4%B8%8A%E6%8C%82drupal" id="wpa2a_72"><img src="http://www.trackself.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.trackself.com/archives/1908.html/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>linux下将sql文件切开为多个,然后多个导入的语法</title>
		<link>http://www.trackself.com/archives/1906.html</link>
		<comments>http://www.trackself.com/archives/1906.html#comments</comments>
		<pubDate>Mon, 12 Mar 2012 20:40:00 +0000</pubDate>
		<dc:creator>黎 浩江</dc:creator>
				<category><![CDATA[linux]]></category>

		<guid isPermaLink="false">http://www.trackself.com/?p=1906</guid>
		<description><![CDATA[1.在phpmyadmin的时候,将文件导出为一个SQL文件,注意,当SQL文件太大的时候,某些服务器就导入不了或者由于长时间而出错 切开SQL文件的语法是: awk &#8216;/CREATE TABLE/{f=0 ;n++; print >(file=&#8221;out_&#8221; n); close(&#8220;out_&#8221; n-1)} f{ print > file}; /CREATE TABLE/{f=1}&#8217; alltables 2.导入多个的语法是 mysql &#8211;batch -h&#8221;localhost&#8221; -u&#8221;XXX&#8221; -p&#8221;XXX&#8221; databasename <]]></description>
			<content:encoded><![CDATA[<p>1.在phpmyadmin的时候,将文件导出为一个SQL文件,注意,当SQL文件太大的时候,某些服务器就导入不了或者由于长时间而出错<br />
切开SQL文件的语法是:<br />
awk &#8216;/CREATE TABLE/{f=0 ;n++; print >(file=&#8221;out_&#8221; n); close(&#8220;out_&#8221; n-1)} f{ print > file}; /CREATE TABLE/{f=1}&#8217; alltables</p>
<p>2.导入多个的语法是<br />
mysql &#8211;batch -h&#8221;localhost&#8221; -u&#8221;XXX&#8221; -p&#8221;XXX&#8221; databasename < <(cat out_1*)<br />
mysql &#8211;batch -h&#8221;localhost&#8221; -u&#8221;XXX&#8221; -p&#8221;XXX&#8221; databasename < <(cat out_2*)<br />
mysql &#8211;batch -h&#8221;localhost&#8221; -u&#8221;XXX&#8221; -p&#8221;XXX&#8221; databasename < <(cat out_3*)</p>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.trackself.com%2Farchives%2F1906.html&amp;title=linux%E4%B8%8B%E5%B0%86sql%E6%96%87%E4%BB%B6%E5%88%87%E5%BC%80%E4%B8%BA%E5%A4%9A%E4%B8%AA%2C%E7%84%B6%E5%90%8E%E5%A4%9A%E4%B8%AA%E5%AF%BC%E5%85%A5%E7%9A%84%E8%AF%AD%E6%B3%95" id="wpa2a_76"><img src="http://www.trackself.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.trackself.com/archives/1906.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>压缩drupal数据库最好的办法</title>
		<link>http://www.trackself.com/archives/1902.html</link>
		<comments>http://www.trackself.com/archives/1902.html#comments</comments>
		<pubDate>Mon, 12 Mar 2012 19:00:36 +0000</pubDate>
		<dc:creator>黎 浩江</dc:creator>
				<category><![CDATA[drupal]]></category>

		<guid isPermaLink="false">http://www.trackself.com/?p=1902</guid>
		<description><![CDATA[由于网站要从bluehost转到godaddy,而该站的数据库大小大于1GB,不能用于GODADDY,只能想办法减少数据库体积. 1.删除不安装的模块&#8212;&#8211;见效极低,但BOOST除外,BOOST模块非常吃数据库,其中的boost_view不断增大,不知是什么来的 2.删除不需要的内容&#8212;&#8211;见效极低,而且影响网站,批量删的话很容易删错 3.删除索引&#8212;&#8212;&#8212;极好,一下子省了200MB出来 所以,最好的办法是删除不必要的索引,这需要有一点的对数据库及对drupal的了解 我以前装了一个叫similar模块,性能很差,已经删了,但该模块添加了新的索引,对node_revision表进行的,结果一下子该索引就减少了100MB体积 删除该索引后就好很多了 于是再检查一下别的体积较大的表,同理做了很多的不必要的索引删除. by:http://www.trackself.com]]></description>
			<content:encoded><![CDATA[<p>由于网站要从bluehost转到godaddy,而该站的数据库大小大于1GB,不能用于GODADDY,只能想办法减少数据库体积.<br />
1.删除不安装的模块&#8212;&#8211;见效极低,但BOOST除外,BOOST模块非常吃数据库,其中的boost_view不断增大,不知是什么来的<br />
2.删除不需要的内容&#8212;&#8211;见效极低,而且影响网站,批量删的话很容易删错<br />
3.删除索引&#8212;&#8212;&#8212;极好,一下子省了200MB出来<br />
所以,最好的办法是删除不必要的索引,这需要有一点的对数据库及对drupal的了解<br />
我以前装了一个叫similar模块,性能很差,已经删了,但该模块添加了新的索引,对node_revision表进行的,结果一下子该索引就减少了100MB体积<br />
删除该索引后就好很多了<br />
于是再检查一下别的体积较大的表,同理做了很多的不必要的索引删除.<br />
by:http://www.trackself.com</p>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.trackself.com%2Farchives%2F1902.html&amp;title=%E5%8E%8B%E7%BC%A9drupal%E6%95%B0%E6%8D%AE%E5%BA%93%E6%9C%80%E5%A5%BD%E7%9A%84%E5%8A%9E%E6%B3%95" id="wpa2a_80"><img src="http://www.trackself.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.trackself.com/archives/1902.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Page Caching using disk: enhanced

Served from: www.trackself.com @ 2012-05-10 00:14:49 -->
