我们需要做采集,首先要了解正则表达式,在这里我们用到的是-phpQuery。phpQuery用来匹配html中的内容比正则简单太多了,只要会jquery,使用起来几乎无障碍。这里只是提供一个demo实例,可能随着原网址内容的调整无法采集到内容,具体大家可以尝试下。我们需要做采集,首先要了解正则表达式,在这里我们用到的是-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采集图片的一个实例代码
基础教程推荐
猜你喜欢
- PHP根据出生日期计算年龄 2022-07-15
- php将文本内容导出为word文档,php导出doc文档 2022-09-18
- phpword读取内容和样式 生成新的内容 2022-09-23
- PHP实现针对日期,月数,天数,周数,小时,分,秒等的加减运算示例【基于strtotime】 2022-08-01
- php采集图片的一个实例代码 2022-12-19
- PHP正则表达式匹配是否为IP地址段的实例代码 2023-07-08
- Ajax跨域请求PHP header设置 2022-10-13
- php实现数组分组简单的一个代码实例 2022-08-01
- PHP正则匹配日期和时间(时间戳转换)的实例代码 2022-07-22
- PC端微信扫码支付成功之后怎么自动跳转的代码 2022-08-11
