
Pythonで実際にスクレピングをするときに、エクセルでリストを作って回すことを想定する人は多いと思います。実際に私が考えたスクレピングを
Pythonに入力されたコードの中に検索ワードを入れるだけでは実用性はありません。何かのリスト、今回はエクセルファイルにリストを作り、エクセルから情報を抜き出して、スクレピングをしています。
今回は、Pythonでエクセルの情報を取得してGoogleにて検索を行う備忘録を作成します!
Pythonでスクレピングする

SeleniumとPandasのインポート
1 2 3 4 5 |
<pre><code>import selenium from selenium import webdriver import chromedriver_binary import pandas as pd |
これで、Selenium(クロームの操作に必要)とPandas(エクセルからデータの抽出に必要)のインポートができます。
1 |
import time |
timeは、サーバーに負荷がかかりすぎないためにコードを強制的に止めます。そのために必要なライブラリをインポートしておきます。
Excelを開き、配列へ格納
1 |
df = pd.read_excel('./KWサンプル.xlsx',sheet_name='Sheet1') |
この一つのコードで、エクセルの展開をすることができます。dfという変数に、エクセルのシートを丸ごと格納する。というのがコードになります。
「配列から検索KWを取得」と「 KWをGoogleのTextBoxへ入力とクリック 」
1 2 3 4 5 6 |
for i in range(df_cnt): SearchTxt = driver.find_element_by_name('q') SearchTxt.clear() SearchTxt.send_keys(df.iloc[i,0]) SearchTxt.submit() time.sleep(3) |
配列から検索KWを取得しながらKWをGoogleのTextBoxへ入力とクリックを行うことができます。
サンプルコード
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
import selenium from selenium import webdriver import chromedriver_binary import pandas as pd import time df = pd.read_excel('./KWサンプル.xlsx',sheet_name='Sheet1') df_cnt = len(df) print(df.head()) driver = webdriver.Chrome() driver.get('https://www.google.com/') for i in range(df_cnt): SearchTxt = driver.find_element_by_name('q') SearchTxt.clear() SearchTxt.send_keys(df.iloc[i,0]) SearchTxt.submit() time.sleep(3) driver.close() |
まとめ
今回一番の目的は、エクセルをリストとして使えるのか?ユーザーが操作するのはエクセルだけで良い状態は作れるのか?ということについて検討できました。
結果としては、良い結果が出たと思っています。ユーザーは見やすいエクセルを操作するだけで望んだことができます。
備忘録として保存しておきます。