前提
現在、以下のWEBスクレイピングの動画を見ていまして、自分でもWEB上の情報をCSVファイルに出力するというのを練習しています。
https://www.youtube.com/watch?v=VRFfAeW30qE&t=3587s
具体的には「Google検索からキーワードを検索し、ヒット数を取得、検索キーワードをクリアして、次のキーワードを検索し、ヒット数を取得、というのを繰り返し、最終的に漫画作品名と検索のヒット数をCSVで出力する」というのを題材としています。
繰り返し処理なので、for文でできると思い、色々試してみたものの、自分でもはっきりと違うとわかるコードしか書けなかったので、こちらで質問させていただきました。
for文に関する初歩的な質問で大変申し訳ないのですが、わかる方がいらっしゃったらご教示いただきたいです。
該当のソースコード
Python
1from selenium import webdriver 2from time import sleep 3from selenium.webdriver.common.by import By 4 5#検索したいキーワード 6keywords = ['ONE PIECE', 'NARUTO', 'ドラゴンボール', 'BLEACH', '銀魂', '呪術廻戦', 'HUNTER×HUNTER'] 7 8#Googleにアクセス 9browser = webdriver.Chrome() 10url = 'https://www.google.com/' 11browser.get(url) 12sleep(3) 13 14## ここから繰り返し ## 15#「検索キーワード」を入力 16elem_keyword = browser.find_element(By.NAME,'q') 17elem_keyword.send_keys(keywords[0]) 18sleep(2) 19 20#検索をクリック 21elem_searchbtn = browser.find_element(By.NAME,'btnK') 22elem_searchbtn.click() 23sleep(1) 24 25#ヒット数を取得 26elem_hit = browser.find_element(By.ID,'result-stats') 27hit = elem_hit.text 28sleep(1) 29 30#検索キーワードをクリア 31browser.find_element(By.NAME,'q').clear() 32sleep(1) 33 34## ここまで繰り返し ## 35 36 37#表を作成 38import pandas as pd 39df = pd.DataFrame() 40df['作品名'] = [keywords[0]] 41df['ヒット数'] = [hit] 42df 43 44#CSVで出力 45df.to_csv('漫画ヒット数調査結果.csv')
発生している問題
「繰り返し」の部分のfor文をどのように書けば良いのかわかっていない状況です。
やりたいことは検索キーワードをまとめて指定した上で、
1.検索キーワードを入力
2.検索をクリック
3.ヒット数を取得
4.キーワードをクリア
5.検索キーワードを入力
6.(以下すべてのキーワードが終わるまで繰り返し)
上記のように繰り返し、漫画のタイトルとそのヒット数を表にして、CSVで出力するというコードを書きたいと考えております。
補足情報(FW/ツールのバージョンなど)
Windows 11 Home
Python 3.12.0
Google Chrome バージョン: 118.0.5993.89(Official Build) (64 ビット)
![guest](/img/icon/icnUserSample.jpg)
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2023/10/27 15:22