百度的图片与普通网站的图片不同,是转换成了base64位的,无法用普通方法抓取,如下,求指教!
百度的图片我抓到的网址是下面这样:
  1. http://img2.imgtn.bdimg.com/it/u=4014691150,3646257854&fm=27&gp=0.jpg
复制代码

直接用浏览器访问是不成功的,提示页面未找到,我分析了一下,图片实际是用ajax转换成base64存在src里面:
  1. src="data:image/jpeg;base64,/9j/4AAQSkZJRgA
复制代码

于是我尝试使用下级线索,爬详情页面,但是详情页面的规则测试结果中的网址是不对的,与实际结果不同,其格式也与浏览器里面分析出来的不同,测试结果如下:
  1. <p class="p2" style="font-stretch: normal; font-size: 11px; line-height: normal; font-family: Monaco; color: rgb(115, 115, 115); -webkit-text-stroke: rgb(115, 115, 115);"><span class="s1" style="font-kerning: none;"><百度图片详情></span></p><p class="p2" style="font-stretch: normal; font-size: 11px; line-height: normal; font-family: Monaco; color: rgb(115, 115, 115); -webkit-text-stroke: rgb(115, 115, 115);"><span class="s1" style="font-kerning: none;"><span class="Apple-converted-space">    </span><item></span></p><p class="p2" style="font-stretch: normal; font-size: 11px; line-height: normal; font-family: Monaco; color: rgb(115, 115, 115); -webkit-text-stroke: rgb(115, 115, 115);"><span class="s1" style="font-kerning: none;"><span class="Apple-converted-space">        </span><图片网址>https://timgsa.baidu.com/timg?image&amp;quality=80&amp;size=b9999_10000&amp;sec=1512357457508&amp;di=e3ca5c62d1bb8c35bc435fab9a018a60&amp;imgtype=0&amp;src=http%3A%2F%2Fcdn.feeyo.com%2Fpic%2F20150206%2F201502061243171.jpg</图片网址></span></p><p class="p2" style="font-stretch: normal; font-size: 11px; line-height: normal; font-family: Monaco; color: rgb(115, 115, 115); -webkit-text-stroke: rgb(115, 115, 115);"><span class="s1" style="font-kerning: none;"><span class="Apple-converted-space">    </span></item></span></p><p class="p2" style="font-stretch: normal; font-size: 11px; line-height: normal; font-family: Monaco; color: rgb(115, 115, 115); -webkit-text-stroke: rgb(115, 115, 115);"><span class="s1" style="font-kerning: none;"></百度图片详情></span></p>
复制代码

浏览器分析的网址:
  1. src="http://cdn.feeyo.com/pic/20150206/201502061243171.jpg"<span class="Apple-converted-space"> </span>
复制代码


举报 使用道具
| 回复

共 7 个关于本帖的回复 最后回复于 2017-12-4 17:17

沙发
Fuller 管理员 发表于 2017-12-4 13:29:09 | 只看该作者
不要用下级线索,抓文字的同时下载图片不行吗?

在定义抓取内容的时候,只需勾上“下载图片”,就能同时下载图片。

很多网站的图片网址是临时生成的,抓下来的网址很快就失效了
举报 使用道具
板凳
Fuller 管理员 发表于 2017-12-4 13:31:38 | 只看该作者
教程在这里《采集图片网址并下载图片
举报 使用道具
地板
hungboy 新手上路 发表于 2017-12-4 13:37:45 | 只看该作者
直接抓取不行,在爬数据界面页面一直滚动,就是找不到。
举报 使用道具
5#
hungboy 新手上路 发表于 2017-12-4 13:38:31 | 只看该作者
能不能帮忙看看我的规则?主题名:baiduimage20171203
举报 使用道具
6#
Fuller 管理员 发表于 2017-12-4 14:07:12 | 只看该作者
hungboy 发表于 2017-12-4 13:38
能不能帮忙看看我的规则?主题名:baiduimage20171203



做如下改进:
1,用data-imgurl做内容映射,不用src,因为src是直接把图片编码到网页上的,这种图片暂时不支持下载
2,用@class='imgitem'做定位标志映射,抓取多样例,不用样例复制方式,这样做的目的是提高适应性,同时跳过第一个广告图。同时要注意,不用第一个广告图做内容映射,而是用第二个图
3,在连续动作工作台上定义一个滚屏动作,滚屏次数设置成3,或者其他数字,可以大一点,只要不漏数据就行。高级设置中,把额外延时设置成5秒,这要根据你的网络情况,因为图片加载需要时间
4,DS打数机运行时不用开滚屏功能,因为已经有连续滚屏动作了,滚屏功能是多余的,而且这个网页是滚不到底的瀑布流模式,不能开DS打数机的滚屏,用菜单设置“配置”-》“自动滚屏”,滚屏次数设置成0

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
举报 使用道具
7#
umsung 高级会员 发表于 2017-12-4 14:20:37 | 只看该作者
本帖最后由 umsung 于 2017-12-4 14:28 编辑
hungboy 发表于 2017-12-4 13:38
能不能帮忙看看我的规则?主题名:baiduimage20171203

1,用data_imgurl这个节点给图片网址做内容映射,从第二个图片开始才有这个节点,所以做样例复制从第个图片开始做
2,因为这个网站要网下滚屏才能加载出更多图片,所以需要在规则中加一个连续滚屏动作,设置了滚屏动作,就要把ds打数机的滚屏关掉,在菜单设置“配置”-》“自动滚屏”中把滚屏次数设置成0。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
举报 使用道具
8#
hungboy 新手上路 发表于 2017-12-4 17:17:46 | 只看该作者
非常感谢!按照两位的方法可以成功抓到图片,但是在打数机中将”自动滚屏”设置成0的话,不会滚动屏幕,只能抓到很少的图片。不设置可以成功抓取。
举报 使用道具
您需要登录后才可以回帖 登录 | 立即注册

精彩推荐

  • 360或火绒等杀毒软件导致GooSeeker爬虫软件
  • 话题分析(NMF模型和LDA模型)软件的安装和
  • 运行Apple无法验证的程序的方法
  • 文本聚类分析软件的安装和使用方法
  • 利用AI阅读和分析文本:扣子COZE记录用户反

热门用户

GMT+8, 2025-5-10 05:17