はじめに
楽天のお気に入りからROOMに投稿することを最近始めました。
楽天のお気に入りって一括削除できないんですねー、、不便、、
ただ、少しプログラムを組むとできるみたいなので実装してみました。
プログラムの知識がなくてもできるように、Google
Colaboratorsで記述しています。
今すぐ削除したい方は一番下へスクロールだ!
仕組み
楽天APIを挟んで楽天市場にアクセスします。
通常のプログラムであればGoogle
Colaboratorsではなく、PythonとかJavascriptとかPHPを使うかと思いますが、環境構築が面倒だったのでGoogle
Colaboratorsで作りました。
そのため認証がいちいち手でやらないといけないのが面倒ですが、自分の使い方の中では許容範囲内。
コード
インポート
多分使わないやつ入っている
#coding:utf-8 import csv import sys import codecs import math import random import requests from time import sleep import re import json
お気に入りリストの取得
削除の対象となるお気に入りリストを取得します。最大40件が取得できるので、Hitsに40を指定しています。
#@title 取得したアクセストークンを入力します input_accessToken = "" #@param {type:"string"} url = 'https://app.rakuten.co.jp/services/api/FavoriteBookmark/List/20170426' payload = { 'format':'json', 'access_token':input_accessToken, 'hits':40, 'elements':'itemCode,bookmarkId' } r = requests.get(url, params=payload) resp = r.json() print(resp)
パース
必要なものはItemCodeListだけなので、それを抽出
少し効率悪いような気もしますが、処理件数が最大40件なので問題なし
# for文を回してdictを作る item_key = ['bookmarkId'] itemCodeList = [] for i in range(0, len(resp['items'])): tmp_item = {} item = resp['items'][i]['item'] for key, value in item.items(): if key in item_key: tmp_item[key] = value item_list.append(tmp_item) if key == 'bookmarkId': itemCodeList.append(value)
お気に入りの削除
上記で取得したBookmarkIdをもとに、削除します。
楽天APIでは1秒に1リクエスト以上できないので、3秒に1回削除する処理を流しています。
POINT
削除するには楽天APIに登録し、AccessTokenを取得する必要があります。一度登録すればその後はかんたんに取得できます。
https://webservice.rakuten.co.jp/app/create
import time access_token_list='アクセストークンを入力します' url = 'https://app.rakuten.co.jp/services/api/FavoriteBookmark/Delete/20120627' j=0 for i in itemCodeList: payload = { 'format':'json', 'access_token':access_token_list, 'bookmarkId':itemCodeList[j] } r = requests.get(url, params=payload) resp = r.json() print(resp) j+=1 time.sleep(3) print("finish")
Google Colaborators(さっさと消したい方もこちら)
Google ColaboratorsとはGoogleが提供しているプログラム実行環境のことです。
環境設定などが全くいらず、すぐにソースコードを実行できることからプログラミング教育を始めとする研修系に多く使われています。
もともとはGoogle社内で機械学習を勉強するためのツールだったとか?
今回のプログラムはそれで書いていますので、下記のリンクでPDFを取得後にすぐ利用することができます。
まとめ
やっぱりプログラムできると色々楽ができて便利です!上手にサボりましょう!
コメント
コメントを投稿