質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
スクレイピング

スクレイピングとは、公開されているWebサイトからページ内の情報を抽出する技術です。

URL

URL(ユニフォームリソースロケータ)とは、インターネット上のリソース(Webページや電子メールの宛先等)を特定するための形式的な記号の並びの事を言う。

Webサイト

一つのドメイン上に存在するWebページの集合体をWebサイトと呼びます。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

Q&A

解決済

1回答

1733閲覧

Python 食べログで検索したページの店舗名、点数、URLを取得したいです。

pythonbegginer

総合スコア25

スクレイピング

スクレイピングとは、公開されているWebサイトからページ内の情報を抽出する技術です。

URL

URL(ユニフォームリソースロケータ)とは、インターネット上のリソース(Webページや電子メールの宛先等)を特定するための形式的な記号の並びの事を言う。

Webサイト

一つのドメイン上に存在するWebページの集合体をWebサイトと呼びます。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

0グッド

0クリップ

投稿2020/03/24 03:26

編集2020/03/24 05:38

Python初めて数日の初心者で、プログラミングも勉強始めたばかりです。
最終的にWebスクレイピングができるようになりたいと思っています。

検索してもわからなく、つまづいているので詳しい方教えて下さいm(__)m

Windows10のコマンドプロンプトから実行しています。

★やりたいこと★

食べログで「新橋」「個室」で検索したURLを元に、 店舗名、点数、URLを取得したいです。

■問題■
「店舗名とURL」、「点数」のみ、で個別に取得することはなんとかできたのですが、
合わせる方法がわからず困っています。

理想としては「店舗名」「点数」「URL」をリストにしてエクセルに出力したいです。(ここはまだ勉強中です)

★使用しているコード★
「店舗名とURL」のコードと結果

Python

1 import requests 2 from bs4 import BeautifulSoup 3 4 url = "https://tabelog.com/tokyo/A1301/A130103/R5266/rstLst/?vs=1&sa=%E6%96%B0%E6%A9%8B%E9%A7%85&sk=%25E5%2580%258B%25E5%25AE%25A4&lid=hd_search1&vac_net=&svd=20200323&svt=1900&svps=2&hfc=1&ChkRoom=1&cat_sk=%E5%80%8B%E5%AE%A4" 5 response = requests.get(url) 6 soup = BeautifulSoup(response.content, 'html.parser') 7 8 tags = soup.find_all("a", class_="list-rst__rst-name-target cpy-rst-name") 9 for i in tags: 10... print('name:{} url:{}'.format(i.text, i.get("href"))) 11... 12name:ビアホール ビヤケラー東京 新橋銀座口店 url:https://tabelog.com/tokyo/A1301/A130103/13171590/ 13name:旬魚と個室 和食りん 新橋本店 url:https://tabelog.com/tokyo/A1301/A130103/13100377/ 14name:プレミアムレストラン 東京 金のダイニング 鮪金 url:https://tabelog.com/tokyo/A1301/A130101/13200206/ 15name:DESIGN FOOD MARKET 新橋店 url:https://tabelog.com/tokyo/A1301/A130103/13197015/ 16name:宴会個室 肉寿司 肉食居酒屋 がむしゃら 新橋総本店 url:https://tabelog.com/tokyo/A1301/A130103/13212570/ 17name:鳥元 虎ノ門店 url:https://tabelog.com/tokyo/A1308/A130802/13019433/ 18name:割烹・一品料理 わくら 銀座店 url:https://tabelog.com/tokyo/A1301/A130101/13191311/ 19name:リザラン 新橋店 url:https://tabelog.com/tokyo/A1301/A130103/13211102/ 20name:鉄板焼 ステーキ 集 銀座 url:https://tabelog.com/tokyo/A1301/A130103/13234842/ 21name:官兵衛 url:https://tabelog.com/tokyo/A1301/A130103/13041136/ 22name:無何有 url:https://tabelog.com/tokyo/A1301/A130103/13101397/ 23name:上越やすだ 新橋銀座口店 url:https://tabelog.com/tokyo/A1301/A130103/13189504/ 24name:海鮮個室居酒屋 瀬戸 新橋店 url:https://tabelog.com/tokyo/A1301/A130103/13214639/ 25name:京都 瓢喜 新橋店 url:https://tabelog.com/tokyo/A1301/A130103/13197226/ 26name:肉魚酒場 肉浜 新橋店 url:https://tabelog.com/tokyo/A1301/A130103/13231985/ 27name:NEO‐SNAPPER CARNAVAL url:https://tabelog.com/tokyo/A1301/A130101/13030373/ 28name:京都 瓢喜 銀座本店 url:https://tabelog.com/tokyo/A1301/A130101/13101843/ 29name:個室会席 北大路 銀座本店 url:https://tabelog.com/tokyo/A1301/A130103/13019429/ 30name:陸州や url:https://tabelog.com/tokyo/A1301/A130103/13227422/ 31name:個室 塊肉×農園野菜 Nick&Noojoo 新橋本店 url:https://tabelog.com/tokyo/A1301/A130103/13229555/ 32 33 34**「点数」のコードと結果** 35 36 import requests 37 from bs4 import BeautifulSoup 38 39 url = "https://tabelog.com/tokyo/A1301/A130103/R5266/rstLst/?vs=1&sa=%E6%96%B0%E6%A9%8B%E9%A7%85&sk=%25E5%2580%258B%25E5%25AE%25A4&lid=hd_search1&vac_net=&svd=20200323&svt=1900&svps=2&hfc=1&ChkRoom=1&cat_sk=%E5%80%8B%E5%AE%A4" 40 response = requests.get(url) 41 soup = BeautifulSoup(response.content, "html.parser") 42 43 lists = soup.find_all("span", class_="list-rst__rating-val") 44 45 for list in lists: 46... print(list.text) 47... 483.32 493.44 503.35 513.38 523.06 533.19 543.05 553.26 563.05 573.37 583.14 593.51 603.10 613.09 623.06 633.29 643.51 653.40 663.01 673.40

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

m.ts10806

2020/03/24 03:38

食べログってスクレイピング許可してましたっけ
m.ts10806

2020/03/24 03:41

https://qiita.com/asys/items/a5efa27d6563a7f6ca14 ああ、一応「営利目的の使用」と「口コミの無断転載」は禁止されてるようですね。 その他情報の取り扱いはきちんと規約確認してくださいね。スクレイピングはあくまで他人の情報を勝手に自動でとるわけですから、扱い方間違えると大事故になりえます。
pythonbegginer

2020/03/24 03:42

調べてみたところインスタやグーグルはだめでしたが食べログは口コミ以外は大丈夫そうでした。
pythonbegginer

2020/03/24 03:45

了解しました!ありがとうございます^^
m.ts10806

2020/03/24 03:51

ひとまずマークダウンのcode対応間違ってるので ```言語名 コード ``` です。 codeの対応のしかたについては https://teratail.com/questions/238564 なども参考にしてください。
pythonbegginer

2020/03/24 03:58

なるほど!ありがとうございます。全然知りませんでした。なおしてみました!
m.ts10806

2020/03/24 04:27 編集

あの、Python詳しい訳じゃないんですけど、さすがに冒頭に>>>はありませんよね? 実際のコードをそのまま提示されないと、回答者側も正しく現象確認できませんし、実際のコードにないものが提示されると混乱してしまいます。
m.ts10806

2020/03/24 05:32

質問本文のコード修正してください。 PCから確認されたら分かりますが、コードブロックの右上の++ボタンを押すとその内容がコピーされます。 実際のコードにないものが入ってくると手元で再現確認するために取り除く作業が発生して手間になりますし、他人なのでどこまで実際のコードかどうかは判断できません
guest

回答1

0

ベストアンサー

まずは、考え方を...

全店舗のデータから find_allで、「項目」をまとめて取得処理しているから、項目別にばらばらに取得されています。

まず1店舗分のデータを取り出して、
1店舗分のデータから「店舗名」「点数」「URL」を取り出す
というのを店舗数分繰り返す

という処理で可能です。

質問に記載のコードが書けていたら、書けると思いますのでまずは考えてみてください。

ヒントとしては、1店舗分を取り出す処理は、soup まではそのまま使って、下記のような感じでしょうか。

Python

1restrants = soup.find_all("div", class_="list-rst__wrap js-open-new-window") 2 3for restrant in restrants: 4 # 1件分の項目取得処理を書く

2020.03.25 追記

質問のコードを流用して、下記のコードを書いて試してみました。

Python

1import requests 2from bs4 import BeautifulSoup 3 4url = "https://tabelog.com/tokyo/A1301/A130103/R5266/rstLst/?vs=1&sa=%E6%96%B0%E6%A9%8B%E9%A7%85&sk=%25E5%2580%258B%25E5%25AE%25A4&lid=hd_search1&vac_net=&svd=20200323&svt=1900&svps=2&hfc=1&ChkRoom=1&cat_sk=%E5%80%8B%E5%AE%A4" 5 6response = requests.get(url) 7soup = BeautifulSoup(response.content, 'html.parser') 8restrants = soup.find_all("div", class_="list-rst__wrap js-open-new-window") 9 10for restrant in restrants: 11 shopname = restrant.find("a", class_="list-rst__rst-name-target cpy-rst-name") 12 star = restrant.find("span", class_="list-rst__rating-val") 13 print('name:{} url:{} star:{}'.format(shopname.text, shopname.get("href"), star.text))

のプログラムを実行したところ

name:アンジェロ url:https://tabelog.com/tokyo/A1301/A130101/13015364/ star:3.26 name:鳥元 虎ノ門店 url:https://tabelog.com/tokyo/A1308/A130802/13019433/ star:3.19 name:佐賀牛グリルイタリアン ドルチェヴィータ 銀座 url:https://tabelog.com/tokyo/A1301/A130101/13168844/ star:3.06 name:おば九 新橋駅前店 url:https://tabelog.com/tokyo/A1301/A130103/13110976/ star:3.19 name:伍法 url:https://tabelog.com/tokyo/A1301/A130103/13127305/ star:3.48 name:個室×ビストロ Borghini 新橋店 url:https://tabelog.com/tokyo/A1301/A130103/13234671/ star:3.09 name:個室×ラクレットチーズ プラチナフィッシュ ガーデンキッチン url:https://tabelog.com/tokyo/A1301/A130103/13199175/ star:3.10 name:ぬる燗 佐藤 銀座店 url:https://tabelog.com/tokyo/A1301/A130103/13195789/ star:3.40 name:大衆酒場 一升瓶 url:https://tabelog.com/tokyo/A1301/A130103/13185179/ star:3.06 name:神戸牛しゃぶしゃぶ・焼肉 嵯峨野 url:https://tabelog.com/tokyo/A1301/A130103/13047097/ star:3.09 name:MEAT KITCHEN 新橋店 url:https://tabelog.com/tokyo/A1301/A130103/13217264/ star:3.02 name:福炎や url:https://tabelog.com/tokyo/A1301/A130103/13047799/ star:3.29 name:わびさび SHINOBI url:https://tabelog.com/tokyo/A1301/A130103/13027344/ star:3.33 name:入母屋 別邸 銀座七丁目店 url:https://tabelog.com/tokyo/A1301/A130101/13019693/ star:3.42 name:銀座むらき url:https://tabelog.com/tokyo/A1301/A130101/13014857/ star:3.34 name:南国亭 新橋日比谷店 url:https://tabelog.com/tokyo/A1301/A130103/13200776/ star:3.03 name:東京立ち飲みバル url:https://tabelog.com/tokyo/A1301/A130103/13148777/ star:3.24 name:炭の屋でですけ url:https://tabelog.com/tokyo/A1301/A130103/13132578/ star:3.34 name:車 銀座8丁目店 url:https://tabelog.com/tokyo/A1301/A130103/13043449/ star:3.09 name:銀座柊家 url:https://tabelog.com/tokyo/A1301/A130102/13221080/ star:3.10

となり、Webブラウザ(シークレットモード/プライベートモード)で確認してみた感じでは、

イメージ説明

と同じ結果になっていました。

AttributeError: 'NoneType' object has no attribute 'text'

のエラーの件ですが、API 側から返ってくるデータに依存していると思われるのですが、手元では再現しないので具体的な原因は不明です。
エラーメッセージ的には、`<span class_="list-rst__rating-val"></span> が取得できない(返ってくるデータにない?)のだと思います。

投稿2020/03/24 04:28

編集2020/03/24 22:21
CHERRY

総合スコア25218

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

pythonbegginer

2020/03/24 05:40 編集

ありがとうございます。ヒントもありがとうございます泣。 色々自分で試してみたのですが、、どうしてもできずもう少しヒントをいただけないでしょうか。 以下のコードが自分的に1番近いかなと思ったのですが、結果が全部Noneになってしまいます。 from bs4 import BeautifulSoup url = "https://tabelog.com/tokyo/A1301/A130103/R5266/rstLst/?vs=1&sa=%E6%96%B0%E6%A9%8B%E9%A7%85&sk=%25E5%2580%258B%25E5%25AE%25A4&lid=hd_search1&vac_net=&svd=20200323&svt=1900&svps=2&hfc=1&ChkRoom=1&cat_sk=%E5%80%8B%E5%AE%A4" response = requests.get(url) soup = BeautifulSoup(response.content, 'html.parser') #tags = soup.find_all("a", class_="list-rst__rst-name-target cpy-rst-name") #for i in tags: #print('name:{} url:{}'.format(i.text, i.get("href"))) restrants = soup.find_all("div", class_="list-rst__wrap js-open-new-window") for r in restrants: ... print(r.get("list-rst__rst-name-target cpy-rst-name"),r.get("href"),r.get("c-rating__val c-rating__val--strong list-rst__rating-val")) ... None None None None None None None None None None None None None None None None None None None None None None None None None None None None None None None None None None None None None None None None None None None None None None None None None None None None None None None None None None None None
CHERRY

2020/03/24 05:23 編集

get の前に r.find でしょうか。
pythonbegginer

2020/03/24 07:18

ありがとうございます^^ 試行錯誤して店舗名とURLは取ってくることができました!!点数だけどうしてもNoneかエラーになってしまいます泣。難しいです。 以下のコードを使用しています。 from bs4 import BeautifulSoup url = "https://tabelog.com/tokyo/A1301/A130103/R5266/rstLst/?vs=1&sa=%E6%96%B0%E6%A9%8B%E9%A7%85&sk=%25E5%2580%258B%25E5%25AE%25A4&lid=hd_search1&vac_net=&svd=20200323&svt=1900&svps=2&hfc=1&ChkRoom=1&cat_sk=%E5%80%8B%E5%AE%A4" response = requests.get(url) soup = BeautifulSoup(response.content, 'html.parser') #tags = soup.find_all("a", class_="list-rst__rst-name-target cpy-rst-name") #for i in tags: #print('name:{} url:{}'.format(i.text, i.get("href"))) restrants = soup.find_all("div", class_="list-rst__wrap js-open-new-window") for r in restrants: print(r.find("a").text,r.a.get("href"),r.i.find("span")) ---------- 結果 博多かわ串・高知餃子 酒場フタマタ 西新橋店 https://tabelog.com/tokyo/A1301/A130103/13243927/ None 銀座みやま https://tabelog.com/tokyo/A1301/A130101/13038416/ None ニユートーキヨービヤホール 数寄屋橋本店 https://tabelog.com/tokyo/A1301/A130102/13208747/ None 有楽町駅前鶏料理個室ダイニング 風花 有楽町駅前店 https://tabelog.com/tokyo/A1301/A130102/13244872/ None 最高級A5神戸牛専門店 銀座 双葉 https://tabelog.com/tokyo/A1301/A130101/13233808/ None てしごと家 銀座店 https://tabelog.com/tokyo/A1301/A130103/13049389/ None 海鮮番屋 個室 雫 新橋店 https://tabelog.com/tokyo/A1301/A130103/13237477/ None 炭の屋でですけ https://tabelog.com/tokyo/A1301/A130103/13132578/ None 銀座 すき焼き 個室割烹 祇園 https://tabelog.com/tokyo/A1301/A130103/13207610/ None 夜景個室×アクアリウム 空の灯 新橋店 https://tabelog.com/tokyo/A1301/A130103/13217489/ None 皆美 銀座店 https://tabelog.com/tokyo/A1301/A130101/13002647/ None ビアホール ビヤケラー東京 新橋銀座口店 https://tabelog.com/tokyo/A1301/A130103/13171590/ None THIERRY MARX salon https://tabelog.com/tokyo/A1301/A130101/13199524/ None 横浜中華街 福満園 新橋店 https://tabelog.com/tokyo/A1301/A130103/13230510/ None マジックレストラン・バー GIOIA FUNDES 銀座店 https://tabelog.com/tokyo/A1301/A130103/13241830/ None 銀座 扇や https://tabelog.com/tokyo/A1301/A130103/13214918/ None 完全個室 地鶏×焼き鳥 うまいもん 新橋駅前店 https://tabelog.com/tokyo/A1301/A130103/13236997/ None 個室バル Manhattan Grill 新橋 https://tabelog.com/tokyo/A1301/A130103/13214729/ None 地酒と個室居酒屋 とく山 新橋本店 https://tabelog.com/tokyo/A1301/A130103/13208774/ None 伍法 https://tabelog.com/tokyo/A1301/A130103/13127305/ None
pythonbegginer

2020/03/24 07:22

すいません、あとpythonの実行結果とページの結果が全然違っていて、、何が間違っているんでしょうか。 宜しくお願いします。
CHERRY

2020/03/24 07:23

r.find("span").text では?
pythonbegginer

2020/03/24 07:27

ありがとうございます。それにすると駅から何メートルみたいな情報が抜き出されてしまい、以下のような結果になってしまいます涙。 博多かわ串・高知餃子 酒場フタマタ 西新橋店 https://tabelog.com/tokyo/A1301/A130103/13243927/ 新橋駅 454m (内幸町駅 154m) / 居酒屋、餃子、焼鳥 銀座みやま https://tabelog.com/tokyo/A1301/A130101/13038416/ 新橋駅 343m / ステーキ、懐石・会席料理 、割烹・小料理 ニユートーキヨービヤホール 数寄屋橋本店 https://tabelog.com/tokyo/A1301/A130102/13208747/ 新橋駅 724m (日比谷駅 209m) / ビアバー、ダイニングバー、居酒屋 有楽町駅前鶏料理個室ダイニング 風花 有楽町駅前店 https://tabelog.com/tokyo/A1301/A130102/13244872/ 新橋駅 708m (日比谷駅 205m) / 居酒屋、ダイニングバー、バル・バール 最高級A5神戸牛専門店 銀座 双葉 https://tabelog.com/tokyo/A1301/A130101/13233808/ 新橋駅 470m (銀座駅 384m) / 居酒屋、すき焼き、かに てしごと家 銀座店 https://tabelog.com/tokyo/A1301/A130103/13049389/ 新橋駅 256m / 居酒屋、日本酒バー、魚介料理・海鮮料理 海鮮番屋 個室 雫 新橋店 https://tabelog.com/tokyo/A1301/A130103/13237477/ 新橋駅 271m / 居酒屋、魚介料理・海鮮料理、しゃぶしゃぶ 炭の屋でですけ https://tabelog.com/tokyo/A1301/A130103/13132578/ 新橋駅 112m / 居酒屋、焼鳥、鳥料理 銀座 すき焼き 個室割烹 祇園 https://tabelog.com/tokyo/A1301/A130103/13207610/ 新橋駅 435m / 居酒屋、すき焼き、割烹・小料理 夜景個室×アクアリウム 空の灯 新橋店 https://tabelog.com/tokyo/A1301/A130103/13217489/ 新橋駅 185m / 居酒屋、ダイニングバー、バル・バール 皆美 銀座店 https://tabelog.com/tokyo/A1301/A130101/13002647/ 新橋駅 488m (銀座駅 374m) / 懐石・会席料理、魚介料理・海鮮料理、割烹・小料理 ビアホール ビヤケラー東京 新橋銀座口店 https://tabelog.com/tokyo/A1301/A130103/13171590/ 新橋駅 121m / ビアホール・ビアレストラン、居酒屋、ビアバー THIERRY MARX salon https://tabelog.com/tokyo/A1301/A130101/13199524/ 2020年Bronze受賞店 横浜中華街 福満園 新橋店 https://tabelog.com/tokyo/A1301/A130103/13230510/ 新橋駅 178m / 中華料理、 居酒屋、飲茶・点心 マジックレストラン・バー GIOIA FUNDES 銀座店 https://tabelog.com/tokyo/A1301/A130103/13241830/ 新橋 駅 401m (内幸町駅 346m) / イタリアン、ダイニングバー、ワインバー 銀座 扇や https://tabelog.com/tokyo/A1301/A130103/13214918/ 新橋駅 332m (内幸町駅 320m) / しゃぶしゃぶ、割烹・小料理、とんかつ 完全個室 地鶏×焼き鳥 うまいもん 新橋駅前店 https://tabelog.com/tokyo/A1301/A130103/13236997/ 新橋駅 119m / 居酒屋、しゃぶしゃぶ、鍋(その他) 個室バル Manhattan Grill 新橋 https://tabelog.com/tokyo/A1301/A130103/13214729/ 新橋駅 196m / 居酒 屋、ダイニングバー、イタリアン 地酒と個室居酒屋 とく山 新橋本店 https://tabelog.com/tokyo/A1301/A130103/13208774/ 新橋駅 136m / 居 酒屋、郷土料理(その他)、鳥料理 伍法 https://tabelog.com/tokyo/A1301/A130103/13127305/ 新橋駅 359m / そば、居酒屋、日本酒バー
CHERRY

2020/03/24 07:28

> あとpythonの実行結果とページの結果が全然違っていて、、何が間違っているんでしょうか。 というのは、web ブラウザの表示と requests.get(url) で、取得される HTML の結果が異なるということでしょうか? 出先なので確認できないのですが、Webブラウザのシークレットモードやプライベートモードと言われるモードで URL を開いて、Cookie 等を無効にしたら同じにならないでしょうか?
CHERRY

2020/03/24 07:32 編集

ああ、span は、複数ありますね。 質問で取得に成功している r.find("span", class_="list-rst__rating-val").text ではどうなりますか?
pythonbegginer

2020/03/24 07:31

出先なのにありがとうございますm(__)m すごい無知ですいません。調べてやってみます。
pythonbegginer

2020/03/24 07:41

何度もすいません。 AttributeError: 'NoneType' object has no attribute 'text' というエラーがでてしまって。。 textをなくすと、点数含むclassないのコードが全て取得できますm(__)m 宜しくお願いします。
pythonbegginer

2020/03/25 01:38

丁寧かつわかりやすい説明本当にありがとうございます(´;ω;`)!!! 無事できたのと、コードも全て理解できました。まだ始めたばかりでわからないこともありますが、こんな風にできるように頑張ります! ありがとうございます^^
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問