教育・子育て

おかんのプログラミング③牛丼食べたい

ゆーこ's icon'
  • ゆーこ
  • 2020/02/04 02:50

前回の記事はこちら。

商品説明を取り出したかったのにできなかったので違う要素を取り出してみました。

Content image

さて今回ははるか先生の記事を読んで早速The Fastest JSON visualizer を使ってみることに。

なるほど、JSONの構造がすごーく良くわかるように。試しに、商品名(itemName)を一つ出力してみました。商品説明より短いし。

import requests

import json
 

shop_id="yoshinoya-shop"

url=f"https://app.rakuten.co.jp/services/api/IchibaItem/Search/20140222?applicationId=(私のアプリID)&shopCode={shop_id}"

response = requests.get(url)

data = json.loads(response.text)
 

print(data['Items'][0]['Item']['itemName'])

printの後ろがほぼコピペで行けるのが神。

 

実行結果として

「吉野家常温フリーズドライ汁物 牛すい40袋【常温配送/冷凍同梱不可】」

 

が、無事に表示されました✨

私にとってのHello Worldが牛すいになった瞬間です。

 

さてさて、というわけでページ上の全ての商品名を引っ張り出してみますか。と思い先ほどのThe Fastest JSON visualizerの中身をざっと見てみる。

すると、どうやら['Items'][0]['Item']['itemName']の数字部分をどんどん増やしていけば良いらしい。最大29。

これでfor文を作ればよいのだな!?と思ったけどProgateの知識だけで作るには1~29までのリストをつくって・・・という方法しか思いつきませんでした。

 

でもなーんかこれができそうな方法知ってる気がする・・・と思い前に読んだ本を開く。

(↑レベル感的にはProgateと並行して見るのにちょうど良い感じでした)

 

・・・あった!range関数!!!
range(x,y)とするとxからy-1までの数字を要素として持ったリストになるというエラい子です。

 

早速これを使って書き書き。

import requests

import json
 

shop_id="yoshinoya-shop"

url=f"https://app.rakuten.co.jp/services/api/IchibaItem/Search/20140222?applicationId=(私のアプリID)&shopCode={shop_id}"

response = requests.get(url)

data = json.loads(response.text)
 

for number in range(0,30):

    print(data['Items'][number]['Item']['itemName'])

そして出てきたのはこちら!!

吉野家常温フリーズドライ汁物 牛すい40袋【常温配送/冷凍同梱不可】 
吉野家 缶飯牛焼肉丼6缶セット【非常用保存食】【常温配送/冷凍同梱不可】【送料無料】台風や地震の備えに 
吉野家 夫婦茶碗セット【常温/冷凍配送可】
吉野家 冷凍新・焼鶏丼の具10袋セット(湯せん専用) 
吉野家 冷凍牛カルビ焼5袋セット トレー商品 冷凍食品 
吉野家 缶飯焼鶏12缶セット【非常用保存食】【常温配送/冷凍同梱不可】【送料無料】 吉野家唐辛子6本セット【常温配送/冷凍同梱不可】 
吉野家 缶飯焼塩さば6缶セット【非常用保存食】【送料無料】台風や地震の備えに 
吉野家 缶飯豚丼12缶セット【非常用保存食】【常温配送/冷凍同梱不可】【送料無料】 
吉野家 冷凍新・焼鶏丼の具30袋セット(湯せん専用) 
吉野家常温フリーズドライ汁物 とん汁40袋【常温配送/冷凍同梱不可】 
吉野家 冷凍 刻みうなぎ10袋20食セット 送料無料 
吉野家 冷凍 刻みうなぎ5袋10食セット【送料無料】 
吉野家 特製牛肉まん6個入り【冷凍】100g(3個入り)×2袋 
吉野家 新・減塩豚丼の具30袋セット 
吉野家 新・減塩豚丼の具30袋セット 
吉野家 ペプ牛135g×5袋セット(ペプチド入り牛丼の具) 冷凍食品 
牛丼 吉野家 食べ比べセット 牛丼の具135gVS豚丼の具120g(減塩仕様)10袋+紅生姜付 お試し 簡単 便利 夜食 おつまみ 昼ごはん ストック 時短 働くママ 冷凍食品 お弁当 おかず クール宅急便 取り寄せ グルメ 吉野家 牛丼 
吉野家 牛豚缶飯詰め合わせセット【非常用保存食】【常温配送/冷凍同梱不可】【送料無料】台風や地震の備えに 
吉野家 缶飯焼鶏6缶セット【非常用保存食】【常温配送/冷凍同梱不可】【送料無料】台風や地震の備えに 
吉野家 缶飯牛焼肉丼12缶セット【非常用保存食】【常温配送/冷凍同梱不可】【送料無料】 
【送料無料】吉野家 冷凍国産牛焼肉丼の具10袋セット 吉野家 冷凍 刻みうなぎ1袋2食セット【お一人様一個限り】 
吉野家 缶飯牛丼12缶セット【非常用保存食】【常温配送/冷凍同梱不可】【送料無料】 
吉野家 冷凍牛カルビ焼10袋セット トレー商品 冷凍食品 
吉野家 特製牛肉まん3個入り【冷凍】100g(3個入り)×1袋 
吉野家 冷凍 紅生姜おためし5袋セット【冷凍食品】 
吉野家 冷凍牛すじ8袋 
吉野家 缶飯豚しょうが焼6缶セット【非常用保存食】【常温配送/冷凍同梱不可】【送料無料】台風や地震の備えに 
吉野家常温 詰替え唐辛子5袋【追跡可能メール便配送/他商品同梱不可】【こちらの商品はお一人様1個限定となります】

 

・・・感激!!!すごく何かできた感があります。それにしても牛丼食べたい。

 

 

 

メモ:

・今回はrangeの最後の数字がわかったからいいけどそうでない場合はどうしたらいいのか。また調べる。

・次は商品リンクでもつけてみる。

 

<追記>

親切な皆様のおかげでrangeを使う必要が無くなりました。これで最後の数字とか気にしなくて良いように。バグも起きにくいらしい。

import requests

import json
 

shop_id="yoshinoya-shop"

url=f"https://app.rakuten.co.jp/services/api/IchibaItem/Search/20140222?applicationId=(アプリID)&shopCode={shop_id}"

response = requests.get(url)

data = json.loads(response.text)
 

for gyudon in data["Items"]:

    print(gyudon['Item']['itemName'])

 

 

 

Supporter profile iconSupporter profile iconSupporter profile iconSupporter profile iconSupporter profile icon
Article tip 5人がサポートしています
獲得ALIS: Article like 42.32 ALIS Article tip 7.20 ALIS
ゆーこ's icon'
  • ゆーこ
  • @yuk
会計や税金のことをわかりやすく!を目標に。他の記事も書きます。仮想通貨は2018年3月スタートの初心者です!

投稿者の人気記事
コメントする
コメントする
こちらもおすすめ!
Eye catch
クリプト

続・NFT解体新書・デジタルデータをNFTで販売するときのすべて【実証実験・共有レポート】

Like token Tip token
6.37 ALIS
Eye catch
他カテゴリ

機械学習を体験してみよう!(難易度低)

Like token Tip token
69.82 ALIS
Eye catch
クリプト

ジョークコインとして出発したDogecoin(ドージコイン)の誕生から現在まで。注目される非証券性🐶

Like token Tip token
38.31 ALIS
Eye catch
他カテゴリ

オランダ人が語る大麻大国のオランダ

Like token Tip token
46.20 ALIS
Eye catch
クリプト

スーパーコンピュータ「京」でマイニングしたら

Like token Tip token
1.06k ALIS
Eye catch
クリプト

「ハッシュ」とは何なのか、必ず理解させます

Like token Tip token
0.10 ALIS
Eye catch
クリプト

約2年間ブロックチェ-ンゲームをして

Like token Tip token
61.20 ALIS
Eye catch
他カテゴリ

京都のきーひん、神戸のこーへん

Like token Tip token
12.10 ALIS
Eye catch
教育・子育て

【科学】アリストテレスにデカルトにニュートンに…みな光に取り憑かれた~光学の発展~

Like token Tip token
22.75 ALIS
Eye catch
他カテゴリ

警察官が一人で戦ったらどのくらいの強さなの?『柔道編』 【元警察官が本音で回答】

Like token Tip token
114.82 ALIS
Eye catch
ビジネス

海外企業と契約するフリーランス広報になった経緯をセルフインタビューで明かす!

Like token Tip token
16.10 ALIS
Eye catch
教育・子育て

【科学(化学)】進化に必要だった猛毒のガス~酸素~

Like token Tip token
25.63 ALIS