【Java爬虫】测测面相

先看下百度截图

由上图可以看到百度分析面部的各个器官、面相评分、颜值评分、颜值气质等信息。如何爬取百度的功能到自己的网页、APP、小程序呢?接下来小帅就通过Java语言来实现一下。

总体步骤参考書劍的Python代码。

Python的小伙伴可以直接访问:

https://github.com/chenguanyou/BaiduSerchImgApi

Java需要用到的技术

HTTP:

需要对HTTP协议有一定的了解。对Header、Body等有相关知识储备、流上传等都需要一定了解或掌握

JSOUP:

jsoup 是一款Java 的HTML解析器,可直接解析某个URL地址、HTML文本内容。它提供了一套非常省力的API,可通过DOM,CSS以及类似于jQuery的操作方法来取出和操作数据。使用很简单哦。

01.抓取相关接口地址

1.这一步通过chrome 调试工具查看可以得知,上传图片的地址为

http://graph.baidu.com/upload?uptime=

uptime测试阶段参数值为空也可以。图片文件为流形式上传。

2.上传图片后得到JSON字符串,包含一个签名值,并会会重定向到一个地址。就是分析结果的网页地址。网址其他参数没做校验。那我们就可以提取出分析结果网页的接口地址

http://graph.baidu.com/s?sign=SIGN&wd=&f=face&srcp=&tn=wise&idctag=tc&sids=10010_10125_10028_10003_10005_10104_10201_10040_10072_10062_10080_10190_10290_10390_10692_10704_10705_10301_10709_10802_10902_11006_10905_10911_11001&logid=2121008205&entrance=&pageFrom=tool&ua=

只需要替换SIGN的值即可

02.上传流文件的HTTP方法

03.普通HTTP请求方法

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20190220G0GFSF00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券