PHP CURL采集百度搜救结果图片不显示问题的解决方式

优采云 发布时间: 2020-08-13 01:30

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

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

  输出后发觉有部份图片不能显示

  2.采集后的图片不显示缘由剖析

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

  采集返回的图片域名

  正常搜救的图片域名

  查看采集与正常搜救的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/6ON1bjeh1BF3odCf",

"t2.baidu.com":"https://ss1.baidu.com/6OZ1bjeh1BF3odCf",

"t3.baidu.com":"https://ss2.baidu.com/6OV1bjeh1BF3odCf",

"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/73F1bjeh1BF3odCf",

"i8.baidu.com":"https://ss0.baidu.com/73x1bjeh1BF3odCf",

"i9.baidu.com":"https://ss0.baidu.com/73t1bjeh1BF3odCf",

};

  因此可以推断是,百度按照来源地址、IP、header等参数,判断假如是采集的,则返回不同的js。

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

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

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

  以上所述是小编给你们介绍的PHP CURL采集百度搜救结果图片不显示问题的解决方式,希望对你们有所帮助,如果你们有任何疑惑请给我留言,小编会及时回复你们的。在此也十分谢谢你们对脚本之家网站的支持!

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线