关键字采集文章(1.采集百度搜寻结果显示2.采集后的图片不显示)

优采云 发布时间: 2022-01-10 08:14

  关键字采集文章(1.采集百度搜寻结果显示2.采集后的图片不显示)

  1.基于关键词采集百度搜索结果

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

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

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

  直接在百度搜索,页面可以显示图片。使用firebug查看图片路径,发现采集的图片域名和百度搜索的图片域名不一样。

  采集返回的图片域名

  普通搜索图片域

  查看采集和正常搜索html,发现有一个域名转换js不一样

  采集

  普通搜索

   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进行批量转换。

   $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); // 调用域名转换 ?>

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

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线