豆腐とコンソメ

豆腐とコンソメ

もろもろのプログラム勉強記録

Python初心者:CloudVisonを使ってみた(1)

目次

前回からの続き

前回からの続きになります。

tohutokonsome.hatenablog.com

必要な情報を揃える

以下の記事を参考にさせていただきます。

syncer.jp

vaaaaaanquish.hatenablog.com

内容を多少理解することができたら、Google公式を見ることにします。

Cloud Vision API のリクエストとレスポンス  |  Google Cloud Vision API ドキュメント  |  Google Cloud Platform

まずはリクエスト

Cloud Vision APIの使い方まとめ (サンプルコード付き)のリクエスト方法を参考に作業していきます。

CloudVison_01.py

CloudVisionを利用するためには、APIにリクエストを投げる必要があります。 PythonでHTTPリクエストを投げるにはどうすればいいんだろう?と思ったところで

PythonでGoogle Cloud Visionを使った顔検出 - Stimulatorのコードを参考にします。

Session()、Request()関数あたりが、該当処理になりそうです。

とりあえずリクエスト処理を行う。

「みんなのPython」では、Webリクエスト処理として、標準ライブラリのurllibが紹介されていましたが  今風ではない?ということでしょうか。 こちらの記事を参考に、Requestsライブラリを利用していきます。

クイックスタート — requests-docs-ja 1.0.4 documentation

とりあえずリクエスト

APIにリクエストを投げることができました(と思います。)

とはいえ、結果は返ってきていないです。

というのも、肝心のイメージデータを渡していません。

イメージデータを渡す

イメージデータですが、CloudVisonのAPIはHTTPのPOSTメソッドで、かつJSON形式のデータを リクエストボディに渡す仕様になっています。

Cloud Vision API のリクエストとレスポンス  |  Google Cloud Vision API ドキュメント  |  Google Cloud Platform

そもそも、HTTPのPOSTメソッドってなんじゃ、みたいな状態ですが それっぽいことを書いています。

このへんの事は、以下を読むとなんとなくほーん、という感じになります。

Webを支える技術 -HTTP、URI、HTML、そしてREST (WEB+DB PRESS plus)

Webを支える技術 -HTTP、URI、HTML、そしてREST (WEB+DB PRESS plus)

中身が薄いわりに、ながくなったので次回に回します。

※HTTPリクエストの中身をみたいのですが、なにかよい方法はないでしょうか。 Wiresharkで見れるかも!と思い立って覗いたのですが、膨大な量のパケットが飛び交っていて どれが目的のリクエストなのかがわからず。。。

PyCharmでそういった素敵なデバック機能はないのでしょうか。