如何解决采集百度搜索结果时图片不显示的问题
优采云 发布时间: 2020-08-07 16:221. 根据关键字采集百度搜索结果
获取基于关键词的百度搜索结果,可以使用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>