python爬虫-利用百度api识别照片中的物体
我会了,您呢
开门见山,我直接开始了,这真的只是体验课,不值得我体验一整天的时间,我花了半小时。
基础不需要,会认字就行。软件:pycharm,py3.x/py2.x,两个都行,我用的3。
需要自己有百度账号,还需要几张照片。
好的开始
浏览器打开:https://login.bce.baidu.com/
登录百度账号,进入百度云管理中心
鼠标放在右侧产品服务-人工智能-图像识别
image.png
单击跳转
image.png
点击创建应用
image.png
取名字-改类型-填描述---->立即创建---->查看应用详情
image.png
看到下面这个页面
image.png然后浏览器新建一个标签
打开:http://ai.baidu.com/docs#/ImageClassify-API/top
如下
右侧点击调用方式,找到这里,点击python,新建一个ak.py文件,复制下面代码运行。
这里注意了,官方文档上用的python2.x,如果你的电脑上安装的是python2.x,直接复制,如果安装的python3.x,则复制我的代码
image.png获取access_token代码:
import urllib.request
# client_id 为官网获取的AK, client_secret 为官网获取的SK
host = 'https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&c' \
'lient_id=【api——key】&client_secret=【secret——key】'
request = urllib.request.urlopen(host)
content =request.read()
if (content):
print(content)
注意这里的两对中文字符中括号
这两个key在之前的应用详情页面里:如下
将其值分别复制覆盖中括号,运行,得到如下信息
b'{"refresh_token":"25.281c3054a294085d32032b800e31c3b6.315360000.1868709707.282335-
15832577","expires_in":2592000,"session_key":"9mzdAvbmBCQaKrsI1V77Wzskkd
VS4vCi+c2B0ktXcLwQSWsabRfrg2g7xV062+RlqGCaHfewIsCN4N6W8KzLKQM\\/
UR3aeQ==","access_token":"24.940a5c7bfa47aae5f6d4628a574a0c56.2592000.15
55941707.282335-15832577","scope":"public vis-classify_dishes vis-classify_car
brain_all_scope vis-classify_animal vis-classify_plant brain_object_detect
brain_realtime_logo brain_dish_detect brain_car_detect brain_animal_classify
brain_plant_classify brain_ingredient brain_advanced_general_classify
brain_custom_dish brain_poi_recognize wise_adapt lebo_resource_base
lightservice_public hetu_basic lightcms_map_poi kaidian_kaidian
ApsMisTest_Test\\u6743\\u9650 vis-classify_flower lpq_\\u5f00\\u653e
cop_helloScope ApsMis_fangdi_permission smartapp_snsapi_base iop_autocar
oauth_tp_app smartapp_smart_game_openapi oauth_sessionkey
smartapp_swanid_verify
smartapp_opensource_openapi","session_secret":"37423f4b3990798d7bc75a3268
035d9b"}\n'
在这堆信息里找到:"access_token":"24.940a5c7bfa47aae5f6d4628a574a0c56.2592000.15 55941707.282335-15832577"
将值复制,得到access_token。
然后返回刚才的api文档:
找到请求示例:
示例
同样,新建一个ppppp.py文件,py2.x的同学直接复制,py3.x的复制我的代码:
# encoding:utf-8
import base64
import requests
import urllib.request
import urllib.parse
'''
通用物体和场景识别
'''
request_url = "https://aip.baidubce.com/rest/2.0/image-classify/v2/advanced_general"
# 二进制方式打开图片文件
f = open('【图片】', 'rb')
img = base64.b64encode(f.read())
params = {"image":img,}
params = urllib.parse.urlencode(params)
header={'Content-Type':'application/x-www-form-urlencoded'}
access_token = "【前面复制的access_token】"
request_url = request_url + "?access_token=" + access_token
request = requests.post(url=request_url, data=params, headers=header)
content = request.text
if content:
print(content)
一样的把你的图片地址复制到中括号图片位置覆盖,把上一个ak.py得到的access_token放到access_token覆盖。然后运行。
我放的这张:之前爬下来的海报
1179738178.jpg
得到如下信息:
{"log_id": 2683289035348183863, "result_num": 5, "result": [{"score": 0.918134,
"root": "", "keyword": "肖申克的救赎 The Shawshank Redemption"}, {"score":
0.719475, "root": "公众人物", "keyword": "摩根·弗里曼"}, {"score": 0.436844, "root":
"非自然图像-屏幕截图", "keyword": "屏幕截图"}, {"score": 0.312865, "root": "公众人
物", "keyword": "蒂姆·罗宾斯"}, {"score": 0.053432, "root": "非自然图像-彩色动漫",
"keyword": "卡通动漫人物"}]}
可见,百度ai图像识别很厉害!
好了,非常简单,没有基础都可以,其他的借口:语言,人脸,只要是上面给的借口,你都能拿来直接用,只要你能根据他给出的示例代码做相应的修改就行。
说实话,做这个,我什么也没学到,就是了解到了百度ai有多强。一点点人工智能的知识都没用到。
我会了,你呢?
我不想体验您家的课。