for文で取得している表形式のデータをCSVファイルの表にしたい
Pythonの練習として、ポケモン図鑑からポケモンの情報をスクレイピングして
CSVファイルの表として保存したいと思っています。
※Colaboratoryを活用しています
発生している問題・エラーメッセージ
AttributeError: 'str' object has no attribute 'keys'
該当のソースコード
python
1min_page = 1 2max_page = 10 3 4while min_page <= max_page: 5 zukan_url = "https://zukan.pokemon.co.jp/detail/" + str(min_page) 6 r = requests.get(zukan_url) 7 soup = BeautifulSoup(r.content, "html.parser") 8 poke_part = soup.find_all("script", {"type": "application/json"}) 9 10 for i in poke_part: 11 poke_data = i.get_text() 12 a = json.loads(poke_data) 13 df = pd.json_normalize(a["pokemon"]) 14 labels = ['no', 'name', 'omosa', 'takasa', 'bunrui', 'spec_hp', 'spec_kougeki', 'spec_bougyo', 'spec_tokukou', 'spec_tokubou', 'spec_subayasa', 'image_s'] 15 df = df[labels] 16 with open("/content/drive/MyDrive/Colab/pokemon_file.csv", mode = "w") as f: 17 wr = csv.DictWriter(f, labels) 18 wr.writeheader() 19 wr.writerows(df) 20 21 min_page += 1
試したこと
forループの中で、1つ1つ分断したpandasの表形式のデータを取得しているので
うまく読み込むことができないんだと思っています。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。