再次验证百度这SB搜索,还是Google搜索靠谱

2015-10-13 / 6 评论 技术文章 / Mrxn

本文共计 2806 字,感谢您的耐心浏览与评论.

起因是在论坛看到的一个帖子找智者的博客的一篇文章:如何将将多说评论数据转回EMLOG,但是百度搜索到的都是无法访问的,因为智者的网站服务器出问题了样 有可能是自己折腾死了。。。百度google在搜索这方面差的太远了。。。下面是对比

000065-2015-10-13.jpg000067-2015-10-13.jpg

都是主机宕机了,可是Google的缓存还是可以用的,可是百度的就玩完了。。。百度取消快照之后,发现变得很鸡肋。。。不知道是不是天朝的原因,怕青少年搜索到了一些不该看的缓存东西,所以让百度取消快照。。。当然都是Mrxn自己瞎掰

000066-2015-10-13.jpg

还有就是百度今年说对https的支持,但是收录还是一直那鸟样,不收录,没使用https之前,收录很快,现在是每天来,但是不收录,他大爷的就是玩。。。google收录很及时,貌似360搜搜都比百度蜘蛛勤快。度娘,赶紧把蜘蛛鞭打一顿,这么懒!

下面附上将多说数据转回emlog或者是其他博客的教程:

刚刚使用emlog时还在习惯性的使用多说评论,不过发现评论无法同步回本地。所以只能百度下解决办法。(只不过最后我放弃了多说)

使用说明:

1.在多说管理页面导出多说评论

2.解压附件,解压导出的多说评论到同一目录

67461430736967.zip

3.打开start.sql

4.[如果你是在emlog上使用本程序,且数据库前缀为emlog_可忽略这步] 修改第六行,例如评论数据表名称(默认emlog_comment)

5.修改多说文章ID前缀和多说页面ID前缀,如果你是直接写文章ID的话就可以忽略这步了

6.运行start.php,会在本目录下生成output.sql

7.导入到数据库即可

因为之前遇到过此类问题不知如何解决。就当备份。

其实附件里面就是一个 start.php  防止附件失效(博客搬家,有可能损坏),我在这里把代码贴出来,以防万一:


<?php
$dss       = json_decode(file_get_contents('export.json'),true);
//前缀,不支持后缀(因为懒)
$threadpf  = 'blog-'; //多说文章ID前缀,无前缀留空
$pagepf    = 'page-'; //多说页面ID前缀,无前缀留空
$inssql    = "INSERT INTO `emlog_comment` (`cid`, `gid`, `pid`, `date`, `poster`, `comment`,`mail`, `url`, `ip`, `hide`) VALUES ('%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', 'n');\n"; //SQL语句模板

date_default_timezone_set('Asia/Shanghai');
$threadlen = strlen($threadpf);
$pagelen   = strlen($pagepf);
$thr       = array();
$cids      = array();
$result    = '';
$tempcid   = 0;

foreach ($dss['threads'] as $val1) {
	if (strpos($val1['thread_key'], $threadpf) === 0 || strpos($val1['thread_key'], $pagepf) === 0) {
		$thr[$val1['thread_id']] = substr($val1['thread_key'] , $threadlen);
	}
}

//多说你妹的居然不按父子顺序导出评论
foreach ($dss['posts'] as $val3) {
	$tempcid++;
	$cids[$val3['post_id']] = $tempcid;
}

foreach ($dss['posts'] as $val2) {
	$gid     = isset($thr[$val2['thread_id']]) ? $thr[$val2['thread_id']] : '';
	if (!empty($gid)) {
		if (empty($val2['parent_id'])) {
			$pid = '0';
		} else {
			$pid  = isset($cids[$val2['parent_id']]) ? $cids[$val2['parent_id']] : 'FUCKDS';
		}
		$cid     = $cids[$val2['post_id']];
		$date    = strtotime($val2['created_at']);
		$poster  = sqladds($val2['author_name']);
		$comment = sqladds($val2['message']);
		$mail    = $val2['author_email'];
		$url     = sqladds($val2['author_url']);
		$ip      = $val2['ip'];
		$result .= sprintf($inssql, $cid , $gid , $pid , $date , $poster , $comment , $mail , $url , $ip);
	}
}

file_put_contents('output.sql', $result);
echo 'Complete! Author: <a href="http://zhizhe8.net/" rel="external nofollow"  target="_blank">Kenvix</a> @ <a href="http://www.stus8.com/" rel="external nofollow"  target="_blank">StusGame GROUP</a>';


/**
 * 使用反斜线引用字符串或数组以便于SQL查询
 * 只引用'和\
 * @param $s 需要转义的
 * @return 转义结果
 */
function sqladds($s) {
	if (is_array($s)) {
		$r = array();
		foreach ($s as $key => $value) {
			$k = str_replace('\'','\\\'', str_replace('\\','\\\\',$value));

			if (!is_array($value)) {
				$r[$k] = str_replace('\'','\\\'', str_replace('\\','\\\\',$value));
			} else {
				$r[$k] = sqladds($value);
			}
		}
		return $r;
	} else {
		return str_replace('\'','\\\'', str_replace('\\','\\\\',$s));
	}
}

参考:

http://zhizhe8.net/?post=85705

http://www.glr-s.com/em/22.html

http://bbs.emlog.net/thread-40003-1-1.html

标签: 谷歌 查资料 google VPN emlog emlog搬家 数据恢复 百度 MySQL 数据库

转载:转载请注明原文链接 - 再次验证百度这SB搜索,还是Google搜索靠谱


6条回应:“再次验证百度这SB搜索,还是Google搜索靠谱”

  1. 试了N次输出的数据库都是空白的,彻底搞不懂。。。

  2. 我想知道附件是怎么获取到的?

  3. 我就是来你博客乱点一通,获取经验值!!


发表评论

{view_code_no}