PHP中CURL采集百度搜寻结果图片不显示怎么办
创始人
2024-12-09 05:21:49
0次

1.根据关键字采集百度搜寻结果

根据关键字采集百度搜寻结果,可以使用curl实现,代码如下:

输出后发现有部分图片不能显示

PHP中CURL采集百度搜寻结果图片不显示怎么办 

2.采集后的图片不显示原因分析

直接在百度中搜寻,页面是可以显示图片的。使用firebug查看图片路径,发现采集的图片域名与在百度搜寻的图片域名不同。

采集返回的图片域名 t11.baidu.com

PHP中CURL采集百度搜寻结果图片不显示怎么办 

正常搜寻的图片域名 ss1.baidu.com

PHP中CURL采集百度搜寻结果图片不显示怎么办 

查看采集与正常搜寻的html,发现有个域名转换的js是不一样的

采集

var list = {
    "graph.baidu.com": "http://graph.baidu.com",
    "t1.baidu.com":"http://t1.baidu.com",
    "t2.baidu.com":"http://t2.baidu.com",
    "t3.baidu.com":"http://t3.baidu.com",
    "t10.baidu.com":"http://t10.baidu.com",
    "t11.baidu.com":"http://t11.baidu.com",
    "t12.baidu.com":"http://t12.baidu.com",
    "i7.baidu.com":"http://i7.baidu.com",
    "i8.baidu.com":"http://i8.baidu.com",
    "i9.baidu.com":"http://i9.baidu.com",
};

正常搜寻

var list = {
    "graph.baidu.com": "https://sp0.baidu.com/-aYHfD0a2gU2pMbgoY3K",
    "t1.baidu.com":"https://ss0.baidu.com/6ON1bjeh2BF3odCf",
    "t2.baidu.com":"https://ss1.baidu.com/6OZ1bjeh2BF3odCf",
    "t3.baidu.com":"https://ss2.baidu.com/6OV1bjeh2BF3odCf",
    "t10.baidu.com":"https://ss0.baidu.com/6ONWsjip0QIZ8tyhnq",
    "t11.baidu.com":"https://ss1.baidu.com/6ONXsjip0QIZ8tyhnq",
    "t12.baidu.com":"https://ss2.baidu.com/6ONYsjip0QIZ8tyhnq",
    "i7.baidu.com":"https://ss0.baidu.com/73F1bjeh2BF3odCf",
    "i8.baidu.com":"https://ss0.baidu.com/73x1bjeh2BF3odCf",
    "i9.baidu.com":"https://ss0.baidu.com/73t1bjeh2BF3odCf",
};

因此可以断定是,百度根据来源地址、IP、header等参数,判断如果是采集的,则返回不同的js。

3.采集后图片不显示的解决方法

把采集到的html,根据定义的域名做一次批量转换即可。

$v){
    $str = str_replace($k, $v, $str);
  }
  return $str;
}
$wd = '仙剑奇侠传';
$url = 'http://www.baidu.com/s?wd='.urlencode($wd);
$data = array();
$header = array();
$response = doCurl($url, $data, $header, 5);
echo cdomain($response); // 调用域名转换
?>

增加域名转换后,所有的图片都可以正常显示。

PHP中CURL采集百度搜寻结果图片不显示怎么办

相关内容

热门资讯

空调连续工作多久需要停机休息 空调连续工作的时间取决于多个因素,包括空调的型号、功率、使用环境和维护情况等。一般来说,空调可以连续...
空调哪个符号是除湿的 空调除湿功能通常用一个水滴形状的符号表示。不同品牌和型号的空调遥控器可能会有所差异,但一般来说,除湿...
格力空调多长时间加一次氟利昂 1、一般情况下,空调对氟利昂的使用量是非常小的,所以在空调使用了四年左右的时候再考虑加也没问题。2、...
空调用多长时间需要加氟一次 一般情况下是五年。当出现以下这几种情况时,空调才需要加氟。1、空调的室内机和室外机各有两个接口,当接...
格调生活·C标思享荟:卡萨帝在... 9月12日的郑州龙湖金融岛,夜风轻拂,灯光璀璨。“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑...
品牌价值破千亿、高端份额持续领... 9月12日,“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑州站”在郑州龙湖金融岛举办。2026...
空调主板坏了修800还是换新的 空调主板坏了是修还是换新,需要考虑多个因素,以下是一些建议:1. 维修成本:如果维修费用较低,比如 ...
空调开多久需要休息多长时间 问题:空调开多久需要休息多长时间回答:1、在使用空调的过程中,一般空调开7~8个小时左右需要休息2~...
中央空调多长时间清洗一次 1、一般空调开机前清洗一次即可,空调开机中间时段再清洗一次,空调关机时清洗一次,这样比较合理。2、空...
中央空调氟利昂多久加一次 看空调制热和制冷程度,很多人的观点认为氟利昂必须一年放一次,其实这个观点是错误的,理解上面有点偏差,...