1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

seleniumを使ったスクレイピング

Last updated at Posted at 2023-11-30

初めに

最近スクレイピングに興味を持ったので作ってみました。
まだまだ初心者なのでコードが汚い部分もあるかもしれません。

今回はスクレイピング練習サイトとして公開されているこちら↓
https://scraping-for-beginner.herokuapp.com
を使用させていただきました。

ライブラリのインストール

pipでインストールしました

pip install selenium

コード

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.chrome.options import Options
from time import sleep

USERNAME = "imanishi"
PASSWORD= "kohei"

#headlessモードにする
options = Options()
options.add_argument('--headless')

driver = webdriver.Chrome(options=options)

#特定のURLへ移動
driver.get('https://scraping-for-beginner.herokuapp.com/login_page')
sleep(0.5)

#最大待機時間を5秒にセット
driver.implicitly_wait(5)

#usernameを入力
elme_username = driver.find_element(By.NAME,"username")
elme_username.send_keys(USERNAME)
sleep(0.5)

#passwordを入力
elme_password = driver.find_element(By.NAME,"password")
elme_password.send_keys(PASSWORD)
sleep(0.5)

#loginボタンをクリック
elem_login = driver.find_element(By.NAME,"btn_login")
elem_login.click()
sleep(0.5)

#項目名を取得
th = []
get_th = driver.find_elements(By.TAG_NAME,"th")
for s in get_th:
    th.append(s.text)
sleep(0.5)

#値を取得
td = []
get_td = driver.find_elements(By.TAG_NAME,"td")
for s in get_td:
    #改行コードがあった場合「,」に置き換える
    set_text = s.text.replace('\n', ',')
    td.append(set_text)
sleep(0.5)

#出力
for i in range(len(get_th)):
    print("{0}\t{1}".format(th[i],td[i]))

出力結果

無題6_20231130212641.PNG

最後に

今回はデータを取得しただけだったので次はExcelなどに保存できるようにしようと思っています。

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?