Help us understand the problem. What is going on with this article?

Python SeleniumでAmazonをスクレイピングし商品名と価格データを収集するツール作成①

More than 1 year has passed since last update.

目次

はじめに
Seleniumのインストール
Tkinterのインストール
Chromedriverのダウンロード
Chromedriverを動かしてみる
おわりに

はじめに

Amazonでキーワード検索したデータをCSVに落とし込むツールを作成したいと思います。
今回はその前準備を行う手順を記載していきます。

環境
・マシン : Windows10
・Chrome version : 73.0.3683.75
・Chromedriver versin : 73.0.3683.68
・Python : python3.7

Seleniumのインストール

今回のスクレイピングはseleniumでのheadlessブラウザで行っているので簡単なインストール手順を書きます。pipでの紹介となります。

pip install Selenium

……これだけです(笑)

Tkinterのインストール

同様にTkinterのインストールも行います。

pip install Tkinter

今回の画面周りはTkinterで作成しています。

Chromedriverのダウンロード

今回の記事では一番大変な作業になります。
こちらは筆者も苦戦したのでハマったところを主に記載したいと思います。

PythonのライブラリーでChromedriverを使用できるものがありますが環境によっては動作しないものもありますので今回はダウンロードする手順を用います。

まずは使用しているChromeのバージョンをチェックします。
Chromeのウィンドウ右上にあるメニューボタンをクリックし、表示されるメニューから[Google Chrome について]をクリックする

チェックしてから下記のサイトでChromeのバージョンと対応しているChromedriverをダウンロードします。
https://sites.google.com/a/chromium.org/chromedriver/downloads

ダウンロードしたらCドライブ直下にoptフォルダを作成し、さらにwin32フォルダをその中に作成します。
次にそのwin32フォルダ内にダウンロードしたchromedriver.exeを入れます。
階層としてこんな感じです
C:\opt\win32\chromedriver.exe

これでChromedriverのダウンロード作業はおわりです。

Chromedriverを動かしてみる

では、実際にダウンロードしたChromedriverを動かしてみます。

test.py
from selenium import webdriver

#driverオブジェクト生成
driver = webdriver.Chrome(executable_path = 'C://opt//win32//chromedriver.exe')

これだけでうまくいけばブラウザが起動しますが、すぐに消えてしまうのでこうします。

test.py
from selenium import webdriver
import time

#driverオブジェクト生成
driver = webdriver.Chrome(executable_path = 'C://opt//win32//chromedriver.exe')
time.sllep(5)

ブラウザを生成してから5秒間とめてやることでより可視化しやすくなると思います。

次は実際にAmazonのページへ飛んでみましょう

test.py
from selenium import webdriver
import time

#driverオブジェクト生成
driver = webdriver.Chrome(executable_path = 'C://opt//win32//chromedriver.exe')

#amzonのURL
amazon_url = 'https://www.amazon.co.jp/'

#ページを取得
driver.get(amazon_url)

#5秒間ストップ
time.sleep(5)

これでAmazonのページが表示されれば成功です。

おわりに

今回の記事は以上になります。
次回はTkinterによる画面の作成を記載していきたいと考えています。

筆者はデザインの才能が皆無かつTkinter自体の経験も浅いので正直かなり素朴なモノとなっております(笑)

さいごに参考にしたページです
Python + Selenium で Chrome の自動操作を一通り
ChromeDriver を介した e2e テストで、Chrome が起動せず失敗する
【Python】 実践 Selenium 【前編】

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした