采集淘宝和天猫的评论


查找相关文章:淘宝 采集
set_time_limit(0);

	define('IN_ECS', true);
	require(dirname(__FILE__) . '/includes/init.php');

	require_once(ROOT_PATH.'includes/curl.class.php');

	$id_value = intval($_REQUEST['goods_id']);

	if($id_value <= 0) {
		echo 'goods_id is required.';
		exit;
	}

	$url = $_REQUEST['url'];
	
	$is_tmall = 0;
	//判断是天猫还是淘宝
	if(strpos($url,'tmall') !== false) {
		$is_tmall = 1;
		preg_match("|\?id=([\d]{1,})|",$url,$out);
	}else{
		preg_match("|id=([\d]{1,})|",$url,$out);
	}
	
	$item_id = $out[1];

	$curl = new extractor();

	if($is_tmall == 0) {
		$content = $curl->getdata('http://item.taobao.com/item.htm?id='.$item_id);
		preg_match("|\"valReviewsApi\":\"(.*)\",|",$content,$out);
		
		$default = 'http://rate.taobao.com/detail_rate.htm?';
		$api = $out[1];
		$api = str_replace($default,'',$api);
		parse_str($api,$output);
	}else{
		$content = $curl->getdata('http://detail.tmall.com/item.htm?id='.$item_id);
		$default = 'http://rate.tmall.com/list_detail_rate.htm?';
		$api = 'itemId=20038507495&spuId=217634756&sellerId=520408396'
		    .'&order=1&currentPage=1&append=0&content=1&tagId=&posi='
		    .'&_ksTS=1374036445596_1691&callback=jsonp1692';
		parse_str($api,$output);

		$output['itemId'] = $item_id;

		preg_match("|\'spuId\':\'(.*)\',|",$content,$out);
		$output['spuId'] = $out[1];
		
		preg_match("|\sellerId=([\d]{1,})\&|",$content,$out);
		$output['sellerId'] = $out[1];
	}

	$page = $_REQUEST['page'] > 1 ? $_REQUEST['page'] : 1;

	for($p=1; $p<=$page; $p++) {
		
		$output['currentPage'] = $p;
		
		$api = $default . http_build_query($output);

		$content = $curl->getdata($api);
	
		preg_match_all("|\"displayUserNick\":\"(.*)\"|isU",$content,$out_username);
		preg_match_all("|\"rateContent\":\"(.*)\"|isU",$content,$out_content);
		preg_match_all("|\"rateDate\":\"(.*)\"|isU",$content,$out_date);

		if(count($out_username[1]) > 0) {
			$ip_arr = array("218","218","66","66","218",
			"218","60","60","202","204","66","66","66","59",
			"61","60","222","221","66","59","60","60","66","218",
			"218","62","63","64","66","66","122","211");
			$ip_count = count($ip_arr);

			for($ii=0; $ii<count($out_username[1]); $ii++) {
			
				$status = 1;
				$user_id = 0;
				$email = '654769794@qq.com';
				$user_name = iconv('GBK','UTF-8',$out_username[1][$ii]);
				$user_name = htmlspecialchars($user_name);
				$content = $out_content[1][$ii];
				$rank = rand(4,5);
				$add_time = strtotime(str_replace('.','-',$out_date[1][$ii]));
				$comment_type = 0;
				$ip_address = $ip_arr[rand(0,$ip_count-1)].'.'
				    .$ip_arr[rand(0,$ip_count-1)].'.'.$ip_arr[rand(0,$ip_count-1)].'
				    .'.$ip_arr[rand(0,$ip_count-1)];
				
				$content = str_replace(array('<br/>'),array("\n"),$content);

				$content = iconv('GBK','UTF-8',$content);

				$sql = "INSERT INTO " .'com_comment' .
					   "(comment_type, id_value, email, user_name, content, 
					   comment_rank, add_time, ip_address, status, parent_id, user_id) VALUES " 
					   ."('$comment_type', '$id_value', '$email', '$user_name', 
					   '$content', '$rank', '$add_time', '$ip_address', 
					   '$status', '0', '$user_id')";

				$db->query($sql);
			}
		}

		sleep(2);
	}


下载源文件 采集淘宝天猫评论