寻找百度图片搜索接口--two

上篇写到我已经找到我要的数据信息,但是我并没有直接去用!因为我笨。。。。

这里我继续看了开发者工具,console控制台有一条错误信息,如图:


这个信息很是重要的,但是这时我还没有意识到!

于是我继续搜寻,我是这样想的,如果那里没有显示出来,肯定是它后来加载进去的,也就是应该解析了什么东西填进去的!于是我找啊找啊找啊找。。。这里可是费了我好久啊!其间我还这样试了!我点击了图片第一次搜索出来后,然后每张图片跳进去的结果!比如我点了一张兰博基尼的图片,跳到了详细的界面!


再看url:http://image.baidu.com/search/detail?ct=503316480&z=0&ipn=d&word=%E5%85%B0%E5%8D%9A%E5%9F%BA%E5%B0%BC&step_word=&pn=0&spn=0&di=0&pi=&rn=1&tn=baiduimagedetail&is=&istype=0&ie=utf-8&oe=utf-8&in=&cl=2&lm=-1&st=undefined&cs=2465014997%2C4158981562&os=4016288598%2C1592369276&simid=&adpicid=0&ln=1000&fr=&fmq=1457695110063_R&fm=&ic=undefined&s=undefined&se=&sme=&tab=0&width=&height=&face=undefined&ist=&jit=&cg=&bdtype=-1&oriquery=&objurl=http%3A%2F%2Fwww.bizhitupian.com%2Fuploadfile%2F2013%2F0220%2F20130220113037928.jpg&fromurl=ippr_z2C%24qAzdH3FAzdH3Fks52_z%26e3Bftgw_z%26e3Bv54_z%26e3BvgAzdH3FfAzdH3Fks52_blkub1bka8a8l78i_z%26e3Bip4s&gsm=0

嚯。。。这啥玩意啊,一大堆参数。。。。我把他们给分开了,如下:

// 请求具体图片的地址
// http://image.baidu.com/search/detail?
// ct=503316480&
// z=&
// tn=baiduimagedetail&
// ipn=d&
// word=%E5%8A%B3%E6%96%AF%E8%8E%B1%E6%96%AF&
// step_word=&
// ie=utf-8&
// in=&
// cl=2&
// lm=-1&
// st=-1&
// cs=2265784169,1232396064&
// os=2557384864,2504149339&
// simid=4245893057,736557056&
// pn=28&
// rn=1&
// di=115927526110&
// ln=1000&
// fr=&
// fmq=1457684020564_R&
// fm=result&
// ic=0&
// s=undefined&
// se=&
// sme=&
// tab=0&
// width=&
// height=&
// face=undefined&
// is=&
// istype=2&
// ist=&
// jit=&
// bdtype=0&
// gsm=0&
// objurl=http%3A%2F%2Fauto.online.sh.cn%2Fimages%2Fattachement%2Fjpg%2Fsite1%2F20110131%2F001731e1881c0eb0a4fd3d.jpg

这一大堆啥玩意,不知道,我百度了,有人只提到了pn = 28 代表数量,cl =2 代表请求的类型  2--图片或者新闻  word 关键词!还是有好多不知道啊!(其实很多对我来说都没用),但是我们可以看到最后一个objurl,这个是刚刚在那个数据中就有的,是原图片地址!还是没有什么头绪,于是我就这么找啊,反复搜寻啊!结果我回到了刚刚我说的那个console 输出的错误上面!

就是这个


我想他哪里出错了呢!我来到network:看到有个红色的链接:


哦,搜嘎,这里有个异步请求呢!其实我是刚刚才发现xhr的(嘻嘻)!我之前只不过是把这个全链接,复制过去到apiAddress,进行了一下请求。。。

实际上就是这个地址:


注意我写的那里啊,我就用这个地址,请求了好几回都是返回空空的页面,啥也没有,好久我才发现,我勒个去,写错了,然后我到百度那里搜索,然后看他那个如图:


应该是这个,我换完之后,请求出来的结果如图:


哈哈,JSON数据,要的就是你。。。欣喜万分的我开始打这个数据的主意,你格式化以后会发现:

<span style="font-size:18px;">{
      "adType": "0",
      "hasAspData": "0",
      "thumbURL": "http://img5.imgtn.bdimg.com/it/u=2432426880,2277825489&fm=21&gp=0.jpg",
      "middleURL": "http://img5.imgtn.bdimg.com/it/u=2432426880,2277825489&fm=21&gp=0.jpg",
      "largeTnImageUrl": "",
      "hasLarge": 0,
      "hoverURL": "http://img5.imgtn.bdimg.com/it/u=2432426880,2277825489&fm=23&gp=0.jpg",
      "pageNum": 30,
      "objURL": "ippr_z2C$qAzdH3FAzdH3Ft42f6v_z&e3Bkwt17_z&e3Bv54AzdH3FkwthjAzdH3FrtvAzdH3Ftpj4AzdH3Fknkwc18mv9lmncd0d8w9jla0_z&e3B3r2",
      "fromURL": "ippr_z2C$qAzdH3FAzdH3Fkwthj_z&e3Bkwt17_z&e3Bv54AzdH3Fwsk74fAzdH3FlmbmAzdH3Flmbm_z&e3Bip4s#ndncdlm$knkwc18mv9lmncd0d8w9jla0",
      "fromURLHost": "baike.baidu.com",
      "currentIndex": "",
      "width": 1280,
      "height": 850,
      "type": "jpg",
      "filesize": "",
      "bdSrcType": "0",
      "di": "54055246410",
      "is": "",
      "hasThumbData": "0",
      "bdSetImgNum": 0,
      "bdImgnewsDate": "1970-01-01 08:00",
      "fromPageTitle": "兰博基尼<\/strong>系列车型",
      "fromPageTitleEnc": "兰博基尼系列车型",
      "bdSourceName": "",
      "bdFromPageTitlePrefix": "",
      "isAspDianjing": 0,
      "token": "",
      "imgType": "",
      "cs": "2432426880,2277825489",
      "os": "655449014,3937519189",
      "simid": "3545580564,441987960",
      "personalized": "0",
      "simid_info": null,
      "face_info": null,
      "xiangshi_info": null,
      "adPicId": "0",
      "source_type": ""
    },</span>
呦,这不是和刚刚那个js脚本中的json 一样么!!亲,如果可以,你可以把这两个对照一下,大部分倒是一样,但是你看看那可恶的objurl,这又是什么鬼????我晕。。。我是想直接有了json数据就解析,拿url直接获取图片了!结果。。。。这里我不知道那个objurl是神马,所以我试着去百度它,结果我把他输入到百度的搜索里,内容倒是没出来啥,没有解释这个的,但是你可以观察百度搜索url里面的链接:


你看,他自动就变过去了!我们再看图片详情后面追加的这个objurl:


你看,他会自己识别过去的呢!在这里,经过我观察搜索出来的缩略图点击跳转的url,我想到了一个办法,那就是仿照他那个detail 链接去构造url,跳进去后再拿那个页面的真实图片url下载图片!这个想法是可行的,至少构造构造url是可以跳进去的,我试过了。。。这里就不演示了啊!!!但是需要注意,构造url有几个参数需要替换:os cs di objurl simid,这几个要换,json返回的数据都有!但是这里构造的url 并不能直接进行图片的下载,好像是没有下载权限似的,我进行了下载,但是图片根本无法打开!

这里我们还可以看到,其实链接中的objurl 只是url编码了,那就是http://www.bizhitupian.com/ ...    看到这里和我之前在页面中获取到的js脚本数据,我想到他肯定是把这个乱码似的东西给翻译了,但是在哪里翻译的呢?接下来我将开启第三次旅程,破解他的objurl。。。



  • 6
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值