Pinterest API で取得できるデータを総まとめ!Pythonで画像取得の方法を紹介!

今回は、Pinterest APIを使うと結局何ができるのか!を紹介していきます。その中でもボードやピンの情報・画像の取得方法についてPythonのサンプルコードをベースに紹介していきます。コピペで使うことができるので、誰でも使うことができます!ぜひ試してみてください!

Pinterest APIを使うには、開発者登録とアクセストークンの認証が必要です。これも無料登録で簡単に入手できるので、まだ入手していない方は以下の記事に沿って登録を進めてください!

Pinterest API を使うために必要な手順を全てまとめました!【申請方法】

Pinterest APIで何ができるの?

取得・作成・編集・削除の主に4種類ができる

Pinterest APIは様々なことをすることができます。出来ることを大きく分けると、以下の4つに分けることができます。

  • Pinterest上にあるデータの取得
  • ボードを作ったり、画像をピンする
  • 既存のボードやピンの編集
  • ボードやピンの削除

ボードを作ったり、編集・削除することはアクセストークンの保持者本人にしかできません。データの取得だけは、自分以外のアカウントのデータも取得することができます。今回はタイトルにもある通り、Pinterest上にあるデータの取得について実際にサンプルコードを用いて紹介していきます。


取得できるデータの種類一覧

取得できるデータをカテゴリごとにまとめました。ほとんど掲載しましたが、一部割愛した項目や説明もあるので、詳細は公式ドキュメントをご覧ください。

参考 公式ドキュメントPinterest API

Board(ボード)の情報

Pinterestはボードを作り、そこに画像をピンしていきます。そのボードについての情報を取得することができます。具体的には以下の項目になります。ピンされている画像のデータをまるっと取得できるのは凄いですね。画像のピン元のURLや色も取得することができます。

  • ボードの名前
  • ボードについての説明文
  • ボードのプロフィール写真
  • ボードを作成したアカウント
  • ボードのURL
  • ボードの作成日時
  • 公開ステータス(公開/非公開)
  • ピンの数
  • コラボレーターの数
  • フォロワー数
  • ピンされている画像の情報

Section(セクション・サブボード)の情報

Sectionはボードの中に作れるサブボード的なものになります。ボードと同じように、セクション内にあるピンの画像のデータを取得することはできます。ただ、セクション自体のデータは取得することができません。

  • ピンされている画像の情報

ピンの情報

肝心のピンの情報です。主に取得できる項目を並べました。

  • ピンされている画像
  • ピンの説明文
  • ピンされているボード
  • ピンのURL
  • ピンされている画像の元URL
  • ピンの作成日時
  • ピンの作成者
  • リピンされた回数
  • 画像か動画

第三者ユーザーの情報

自分以外のユーザーについて取得できるデータです。

  • ユーザーネーム
  • ユーザーの姓名
  • プロフィール画像
  • プロフィールURL
  • 自己紹介文
  • 作成日時
  • ピン数やフォロー数など
  • アカウントタイプ

自分自身(アクセストークン保持アカウント)の情報

自分自身については、フォロワーやフォローについての情報など、少し細かく取得することができます。

  • ユーザーの情報(詳しくは「第三者ユーザーの情報」を参照してください)
  • ユーザーのボード情報
  • フォローユーザー一覧
  • フォロワーユーザー一覧
  • フォローしているボード一覧
  • フォローしている興味
  • 自分のピン一覧
  • 自分のボード検索
  • 自分のピン検索

指定したボードにピンされている写真を全て取得する

早速実際にデータを取得してみましょう。ボードを指定し、そのボードにピンされている写真のURLを取得してみたいと思います。今回はサンプルとして、H.I.S Japanhis_blueというボードを対象にします。

参考 his_bluePinterest(ピンタレスト)
Python
import json
import requests

token = 'あなたのアクセストークンをこちらに入れてください!'
boardName = 'hisjapan/his_blue'

api = 'https://api.pinterest.com/v1/boards/{boardsName}/pins/?access_token={access_token}&fields=id%2Clink%2Cnote%2Curl%2Cattribution%2Cmetadata%2Cboard%2Ccolor%2Ccounts%2Ccreated_at%2Ccreator%2Cimage%2Cmedia%2Coriginal_link'
url = api.format(boardsName = boardName, access_token = token)
    
r = requests.get(url)
data = json.loads(r.text)

これでピンの情報が返ってきます。ここでは返ってきた中で、一つ目のピンのデータだけをご紹介します。ボード内のピンのデータや、そのピン元のデータなどまるごと取得することができていますね!

{‘attribution’: None,
‘creator’: {‘url’: ‘https://www.pinterest.com/cruisefevertips/’,
‘first_name’: ‘Cruise Fever | Cruise Tips, Travel, Reviews’,
‘last_name’: ”,
‘id’: ‘572449940043866633’},
‘url’: ‘https://www.pinterest.com/pin/129267451790791593/’,
‘media’: {‘type’: ‘video’},
‘created_at’: ‘2018-11-04T04:29:43’,
‘original_link’: ‘https://www.youtube.com/watch?v=urUG7054_8M’,
‘note’: “Don’t make the most common mistakes on your Carnival cruise, but watch these top 10 tips for cruising with Carnival. This video walks through our top tips but feel free to add your own as well.#cruisetips #carnivalcruise #carnivaltips #carnivalcruiseline #cruisefever #cruiselife #cruisetravel”,
‘color’: ‘#aaa8c0’,
‘link’: ‘https://www.pinterest.com/r/pin/129267451790791593/4994075408931508990/d1bd9f9126e56e2f07008be4dc83dccc47d348a64a74887e2b26ce1208cf39e5’,
‘board’: {‘url’: ‘https://www.pinterest.com/hisjapan/his_blue/’,
‘id’: ‘129267520493429390’,
‘name’: ‘#his_blue’},
‘image’: {‘original’: {‘url’: ‘https://i.pinimg.com/originals/7d/a6/f4/7da6f4d2bccad45c9f1ecfbc3ab5c83a.jpg’,
‘width’: 500,
‘height’: 950}},
‘counts’: {‘saves’: 0, ‘comments’: 0},
‘id’: ‘129267451790791593’,
‘metadata’: {‘link’: {‘locale’: ‘en’,
‘title’: ‘Top 10 Carnival Cruise Tips You Should Know’,
‘site_name’: ‘YouTube’,
‘description’: ‘Going on a Carnival cruise? Here are 10 cruise tips to get you started. Avoid common mistakes cruisers make and see what perks a Carnival Cruise Line cruise …’,
‘favicon’: ‘https://i.pinimg.com/favicons/ac96c424bbd9112ee1717b1d8d5a6d192025a559f2e8ef48ba81c56a.png?3a880420311ad60097059ffc0fc53393’}}}

指定したピンの情報を取得する

次にピンの情報を取得します。ピンIDで指定すると、そのピンの情報が返ってきます。ピンIDは、各ピンのページのURLの末尾の数値になります。例えば以下のURLのピンのデータを取得する場合は、129267451785615683になります。前項で紹介したボード内のピンをまとめて取得するAPIでは、各ピンIDも付いているので合わせて使用すると非常に便利です!

参考 Swimming with Sea Turtles in HawaiiPinterest(ピンタレスト)
Python
import json
import requests

token = 'あなたのアクセストークンをこちらに入れてください!'
pin = '129267451785615683'

api = 'https://api.pinterest.com/v1/pins/{pin}/?access_token={access_token}&fields=id%2Clink%2Cnote%2Curl%2Cattribution%2Cmetadata%2Cboard%2Coriginal_link%2Ccolor%2Ccounts%2Ccreated_at%2Ccreator%2Cimage%2Cmedia'
url = api.format(pin = pin, access_token = token)
    
r = requests.get(url)
data = json.loads(r.text)

{‘data’: {‘attribution’: None,
‘creator’: {‘url’: ‘https://www.pinterest.com/hawaiianexplore/’,
‘first_name’: ‘Hawaiian Explorer’,
‘last_name’: ”,
‘id’: ‘515099413538961654’},
‘url’: ‘https://www.pinterest.com/pin/129267451785615683/’,
‘media’: {‘type’: ‘image’},
‘created_at’: ‘2017-02-14T20:05:14’,
‘original_link’: ‘http://hawaiianexplorer.com/swimming-with-sea-turtles-in-hawaii/’,
‘note’: ‘(Hawaiian Green Sea Turtle) sea life, animals, ocean, ocean life, aquatic animals, marine biology, water, under water life #sealife #marine’,
‘color’: ‘#3ea6bb’,
‘link’: ‘https://www.pinterest.com/r/pin/129267451785615683/4994075408931508990/9a15969b62b7e51f926f17d2ef7925e1060777f7c6ba875afdcf7d1e73bff812’,
‘board’: {‘url’: ‘https://www.pinterest.com/hisjapan/his_blue/’,
‘id’: ‘129267520493429390’,
‘name’: ‘#his_blue’},
‘image’: {‘original’: {‘url’: ‘https://i.pinimg.com/originals/f3/6d/1e/f36d1e8f9fa364b599b18d049bbdffce.jpg’,
‘width’: 450,
‘height’: 675}},
‘counts’: {‘saves’: 16, ‘comments’: 1},
‘id’: ‘129267451785615683’,
‘metadata’: {‘article’: {‘published_at’: ‘2015-08-28T00:00:00’,
‘description’: ‘At least once in the course of your life, don’t you wish to tell tales to your future generation about an event you experienced when you were their age? Most people dream of undertaking something daring, but never get the… #hawaiianseaturtle #swimmingwithseaturtles #swimmingwithturtlesinhawaii’,
‘name’: ‘Swimming with Sea Turtles in Hawaii’,
‘authors’: []},
‘link’: {‘locale’: ‘en’,
‘title’: ‘Swimming with Sea Turtles in Hawaii’,
‘site_name’: ‘Hawaiian Explorer’,
‘description’: ‘What about visiting Hawaii to swim with the sea turtles? But finding a good spot where to swim with turtles in Hawaii is not as simple. So where should you go?’,
‘favicon’: ‘https://i.pinimg.com/favicons/be7f82fcb5355dd3f0a03756a30c292cb01a47be5883b104c6121511.ico?e1e8bdc3ce87340ab6ebe467519cf245’}}}}

ピンの説明やリンクなど様々なデータが返ってきました!もちろん、色についての情報もありますね。


まとめ

Pinterest APIの全貌と、その中でも画像取得に関する部分を見てきました。APIで取得できるデータが全体的に縮小されている一方で、Pinterestからは多種多様なデータが取得できます。コピペで取得できるので、ぜひやってみてください!