如何解决采集百度搜索结果时图片不显示的问题

优采云 发布时间: 2020-08-07 16:22

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

  获取基于关键词的百度搜索结果,可以使用curl实现,代码如下:

  输出后,发现某些图片无法显示

  

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

  直接在百度中搜索,该页面可以显示图片. 使用萤火虫检查图像路径,发现所采集图像的域名与在百度上搜索到的图像的域名不同.

  集合返回的图片域名

  

  用于常规搜索的图片域

  

  检查采集的普通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,标头和其他参数返回不同的js.

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

  采集的html可以根据定义的域名进行批量转换.

<p>

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线