初めに
最近スクレイピングに興味を持ったので作ってみました。
まだまだ初心者なのでコードが汚い部分もあるかもしれません。
今回はスクレイピング練習サイトとして公開されているこちら↓
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]))
出力結果
最後に
今回はデータを取得しただけだったので次はExcelなどに保存できるようにしようと思っています。