Python初めて数日の初心者で、プログラミングも勉強始めたばかりです。
最終的にWebスクレイピングができるようになりたいと思っています。
色々教えてもらいながら途中までできたのですが、つまづいているので詳しい方教えて下さいm(__)m
※Windows10のコマンドプロンプトから実行しています。
★やりたいこと★
食べログで「新橋」「個室」で検索したURLを元に、 店舗名、URL、点数を取得したものをCSVファイルに出力したいです。
■問題■
CSVファイルを作成し、出力まではできたのですが、1店舗分しか出力されていません。URLに載っている全店舗の情報を出力するにはどうしたらいいでしょうか?
★使用しているコード★
Python
1import requests 2from bs4 import BeautifulSoup 3 4#食べログのURL 5url = "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" 6 7#タグ取得 8response = requests.get(url) 9soup = BeautifulSoup(response.content, 'html.parser') 10restrants = soup.find_all("div", class_="list-rst__wrap js-open-new-window") 11 12for restrant in restrants: 13 shopname = restrant.find("a", class_="list-rst__rst-name-target cpy-rst-name") 14 star = restrant.find("span", class_="list-rst__rating-val") 15 16#パンダでDF作成 17 18import pandas as pd 19 20list = [shopname.text, shopname.get("href").text,star.text] 21Column = ['店舗名', 'URL', '点数'] 22 23# データフレームを作成 24df = pd.DataFrame([list],columns=Column) 25 26# CSV ファイル出力 27df.to_csv("C:\python/tabelog.csv",encoding='utf_8_sig') 28 29#結果の表示 30df 31
結果はこうなります。
店舗名 URL 点数
0 尾崎牛焼肉 銀座 ひむか https://tabelog.com/tokyo/A1301/A130101/13193861/ 3.54
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/03/25 04:41 編集
退会済みユーザー
2020/03/25 04:39