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

我们需要做采集,首先要了解正则表达式,在这里我们用到的是-phpQuery。phpQuery用来匹配html中的内容比正则简单太多了,只要会jquery,使用起来几乎无障碍。这里只是提供一个demo实例,可能随着原网址内容的调整无法采集到内容,具体大家可以尝试下。 ?phpre
我们需要做采集,首先要了解正则表达式,在这里我们用到的是-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问题的实例代码,具体代码如下,希望可以帮到需要的朋友: /** * gbk编码转utf-8 * @param unknown $data * @return multitype: */function gbk2utf8($data){ if(is_array($data)){ return array_map('gbk2utf8', $data); } retu
php中求三个数中最大值的实例代码如下,希望能够帮到需要的朋友 ?php//求三个数中的最大值function maxNum($x,$y,$z){ return $x$y ? ( $x$z ? $x : $z ) : ($y$z ?$y :$z);}echo maxNum(35,26,118);? 也可以通过下面最笨的方法: ?php//求三个数中的最大值 最
关键词匹配是比较常见的需求,如留言、弹幕及游戏聊天中的敏感词过滤,都需要对一段文字进行关键词匹配。提取到关键词后,再做进一步处理。 本类借助PHP高效的数组和mbstring扩展,来实现对中文关键词的匹配。主要思想是以关键词为key,构建字典数组,这样便
本文实例讲述了php中最简单的字符串匹配算法。分享给大家供大家参考。具体实现方法如下: ?php/*最简单字符串匹配算法php实现方式 T: ababcabcP: abc 0. 1. 2.ababcabc ababcabc ababcabc||| ||| |||abc abc abc(X) (X) (O) 3. 4. 5.ababcabc ababcabc ababca
Ajax跨域请求PHP header设置,具体实例代码如下: header('Access-Control-Allow-Origin : *');header('Access-Control-Allow-Headers : Origin, X-Requested-With, Content-Type, Accept');header('Access-Control-Allow-Methods :PUT,POST,GET,DELETE,OPTIO
虽然php 中的header()函数 下载文件不支持断点续传功能但有时我们还真需要此功能,如我们下载txt,图片文件时如果直接是个连接估计是直接打开了而不是下载了,那么我们可如何实现下载呢。 /*** 文件下载**/header("Content-type:text/html;charset=utf-8");do