ITPub博客

首页 > 应用开发 > IT综合 > 小红书无水印图片,无水印视频解析下载,小红书视频图片去水印代码实现

小红书无水印图片,无水印视频解析下载,小红书视频图片去水印代码实现

原创 IT综合 作者:wxff 时间:2020-07-28 13:18:36 0 删除 编辑

以从小红书“复制链接”出来的一个地址为例,例如:  下面用PHP代码来实现提取图集,具体代码如下:

<?php
$userAgent = "Mozilla/5.0 (Linux; Android 5.0; SM-G900P Build/LRX21T) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.119 Mobile Safari/537.36";
$header		= [
		'User-Agent:'.$userAgent,
];
$url = '
//$url = '
$content = curlGet($url, $header, $userAgent);
if (preg_match('|window.__INITIAL_SSR_STATE__=(.*?)\<\/script\>|', $content, $match)) {
	$str = str_replace('undefined', '""', $match[1]);
	$result	= json_decode($str, true);
	
	//针对图集解析
	if ($result['NoteView']['noteType'] == 'normal') {
		$imageData = $result['NoteView']['content']['imageList'];
	
		$images = [];
		
		foreach($imageData as $info) {
			$images[] = 'https:'.$info['url'];
		}
		print_r($images);
	}
	
	//针对视频解析
	if ($result['NoteView']['noteType'] == 'video') {
		$videoUrl = $result['NoteView']['content']['video']['url'];
		print_r($videoUrl);
	}
	
	
	
}
function curlGet($url = '', $header = [], $userAgent = '') {
	$ch = curl_init();
	curl_setopt ($ch, CURLOPT_URL, $url);
	curl_setopt ( $ch, CURLOPT_HTTPHEADER, $header );
	curl_setopt ( $ch, CURLOPT_USERAGENT, $userAgent );
	curl_setopt ( $ch, CURLOPT_SSL_VERIFYPEER, 0);
	curl_setopt ( $ch, CURLOPT_SSL_VERIFYHOST, 0);
	curl_setopt ( $ch, CURLOPT_RETURNTRANSFER, 1 );
	curl_setopt ( $ch, CURLOPT_MAXREDIRS, 5 );
	curl_setopt ( $ch, CURLOPT_FOLLOWLOCATION, 1 );
	curl_setopt ( $ch, CURLOPT_TIMEOUT, 5 );
	$content = curl_exec($ch);
	curl_close($ch);
	
	return $content;
}

通过解析分享网页的方式,是可以得到高清的图片,如果分享的是视频地址,也可以得到视频,但是因为这里是直接解析外网访问地址的,也就是小红书展示出来的网页,不管是视频还是图片都是有水印的。当然,这个是目前很多人能做到的通用的做法

那么如何去掉这块的水印呢,实际上可以通过借助第三方API的方式来解决,具体的代码如下:

<?php
// 开发者后台生成的appkey
$appkey = '';
	
//需要解析的url
$url = '';
$param = [
	'appkey'	=> $appkey,
	'url'		=> $url,
];
//得到请求的地址:
$apiUrl = '($param);
$ch = curl_init();
curl_setopt ( $ch, CURLOPT_URL, $apiUrl );
curl_setopt ( $ch, CURLOPT_SSL_VERIFYPEER, FALSE );
curl_setopt ( $ch, CURLOPT_SSL_VERIFYPEER, 0 );
curl_setopt ( $ch, CURLOPT_SSL_VERIFYHOST, 0 );
curl_setopt ( $ch, CURLOPT_MAXREDIRS, 5 );
curl_setopt ( $ch, CURLOPT_RETURNTRANSFER, 1 );
curl_setopt ( $ch, CURLOPT_FOLLOWLOCATION, 1 );
curl_setopt ( $ch, CURLOPT_TIMEOUT, 10 );
$content = curl_exec( $ch );
curl_close ( $ch);
print_r($content);

通过上面的代码,就可以很直接的得到无水印的图片了

感兴趣的朋友不妨可以试一下

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/69973386/viewspace-2707412/,如需转载,请注明出处,否则将追究法律责任。

下一篇: 没有了~
请登录后发表评论 登录
全部评论

注册时间:2020-05-03

  • 博文量
    4
  • 访问量
    5563