環境
mac
anaconda
python3.8
jupyter notebook
pythonで複数のURLから情報を取得したいのですが、どのようにすればいいのかわからず困っています。
やりたいこととしては、例えるなら料理サイトで検索した「肉炒め」、「野菜炒め」の各レシピのページから、「料理名、材料、調理時間」などの情報を取り出し、csvファイルにまとめる、といったような作業です。
URLは途中まで一緒で、末尾だけ多少変化するようなイメージです。
調べてみると、
urls = ['https~', 'https~']という風に、並べて記入すれば良いようなのですが、実行すると1番最初のURLの情報しかスクレイピングができません。
python
1import requests 2urls = ['https://www.~','https://www.~'] 3from bs4 import BeautifulSoup 4r = requests.get(urls) 5r.status_code 6soup = BeautifulSoup(r.text, 'html.parser') 7print(soup) 8 9cooking_name = soup.find('span', {'class': 'cooking_name'}).text 10cooking_name
このような複数のURLをスクレイピングしたい場合、どのようにコードを組んでいけばいいでしょうか。
最後のcooking_nameを実行した時点で、2つの料理名を取得できるようなイメージです。
現行のコードでは、1つ目のURLの料理名は取得できるのですが、2つ目の料理名を取得することができていません。
アドバイス頂けると助かります。