#はじめに
この記事ではPythonのSeleniumを使用してQiitaのアカウントにログインしようと思います。
##開発環境
macOS BigSur Ver11.6
Python2.7.18
VisualStudioCode 1.58.2
##事前準備
まずSeleniumが必要なためpipを使用しインストールしてください。
pip3 install selenium
次にChromeDriverをインストールします。これはスクレイピングの際に使用するものです。Chromeの種のような感じです。
#開発
まずQiitaのログインは https://qiita.com/login?redirect_to=%2F から行うことができます。以下の手順となります。
1,メールアドレスを入力
2,パスワードを入力
3,ログインを押す
これをseleniumを使用し再現します。
from selenium import webdriver
driver = webdriver.Chrome('絶対パス')
driver.get('https://qiita.com/login?redirect_to=%2F')
絶対パスにはChromeDriverの絶対パスを入力します。これで実行するとログインフォームが開くはずです。
次にログインフォームのメール欄・パスワード欄・ボタンのhtmlをみましょう。
<input type="text" name="identity" id="identity" placeholder="ユーザー名 または メールアドレス" autofocus="autofocus" class="form-control">
<input type="password" name="password" id="password" placeholder="パスワード" class="form-control">
<input type="submit" name="commit" value="Qiita にログイン" class="btn btn-primary btn-block btn-lg loginSessionsForm_submit" data-disable-with="ログイン">
注目するのはそれぞれのname=''です。それぞれidentity,password,commitになってるのが確認できると思います。その要素を作成し、入力・クリックをします。
from selenium import webdriver
driver = webdriver.Chrome('絶対パス')
driver.get('https://qiita.com/login?redirect_to=%2F')
time.sleep(1)
mail = driver.find_element_by_name('identity')
password = driver.find_element_by_name('password')
button = driver.find_element_by_name('commit')
mail.send_keys('mail')
password.send_keys('password')
button.click()
mail,passwordにはQittaのメールアドレス、パスワードをそれぞれ入れれください。
##コードの解説
mail = driver.find_element_by_name('identity')
password = driver.find_element_by_name('password')
button = driver.find_element_by_name('commit')
ここではそれぞれの要素をnameで作成します。
mail.send_keys('mail')
password.send_keys('password')
button.click()
順に、メールを打つ、パスワードを打つ、ログインボタンをクリックするです。
#おわりに
いかがだったでしょうか?スクレイピングは初めてでした。これを応用すればいろいろなことに使えますね。他のスクレイピングも紹介できたらと思います!
by Py_r