php采集图片的一个实例代码

时间:2022-12-14
我们需要做采集,首先要了解正则表达式,在这里我们用到的是-phpQuery。phpQuery用来匹配html中的内容比正则简单太多了,只要会jquery,使用起来几乎无障碍。这里只是提供一个demo实例,可能随着原网址内容的调整无法采集到内容,具体大家可以尝试下。
<?php
	require './phpQuery.php';
	
	//获取远程图片
	function curl_file_get_contents($url,$from){
		//初始化curl会话
		$ch = curl_init();
		//设置一个cURL传输选项。
		curl_setopt($ch, CURLOPT_URL, $url);					//目标 
		curl_setopt($ch, CURLOPT_TIMEOUT, 2);
		//curl_setopt($ch, CURLOPT_USERAGENT, _USERAGENT_);	 
		curl_setopt($ch, CURLOPT_REFERER,$from);			//伪造来路  
		curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
		$result = curl_exec($ch);
		curl_close($ch);
		return $result;
	}
 
	
	//载入文档
	phpQuery::newDocumentFile('https://list.jd.com/list.html?cat=670,671,672');
	$list = pq('li.gl-item');
	
	
	
	$from = 'http://list.jd.com/list.html?cat=670,671,672';
	for($i=0;$i<count($list);$i++){
		$src = pq($list)->eq($i)->find('.p-img')->find('img')->attr('src');
		
		if(!$src){
			$src = pq($list)->eq($i)->find('.p-img')->find('img')->attr('data-lazy-img');
		}
 
		
		
		$src = str_replace('/n7/','/n1/',$src);
		$result = curl_file_get_contents('http:'.$src,$from);
		file_put_contents('./images/'.basename($src), $result);
	}
?>
 
上一篇:php解决json gbk编码中文null问题的实例代码 下一篇:没有了

相关文章

最新文章