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

Seleniumを使ってみた

More than 1 year has passed since last update.

はじめに

Daiさんのnoteを購入したのでチャレンジしようと思ったけど、そもそもスクレイピングの知識がないのでまずはSeleniumを使ってみます。これでぼくもスケベに足を突っ込むわけですね、ぐへへ。
noteはこちら→スケベAI「スケベ博士」をPythonとGoogle Apps Scriptで作るスケベ・チュートリアルを公開します

環境

-OS X 10.11.1
-Python 3.6.3

事前準備

Seleniumインストール

Seleniumは使ったことがないのでインストールします。
これでWeb操作を自動化できるようになります。

pip3 install selenium

Google Chrome Driverのインストール

ブラウザを操作するには、各ブラウザに合わせてドライバーを用意する必要があるとのこと。
公式サイトからダウンロードします。
スクリーンショット 2018-04-01 0.06.28.png

ダウンロードしたzipを解凍して中のファイルをPATHが通っているフォルダに移動して実行権限をつけます。

mv desktop/chromedriver /usr/local/bin/
chmod +x /usr/local/bin/chromedriver

実験

クロームを起動して自分のブログを開いてみます

from selenium import webdriver
#ブラウザオープン
driver = webdriver.Chrome()
#URLを指定してWebページを開く
driver.get("https://norinorinozakki.hatenablog.com/")

成功!
スクリーンショット 2018-04-01 0.25.29.png

次はHTMLの要素からなんか取得しましょう。とりあえず記事のタイトルとかにしますか。
ちなみにChromeの開発者ツールはMacだと[Command+Option+I]で開けます。
該当箇所を調べると…
スクリーンショット 2018-04-01 1.53.49.png

というわけでこんな感じで書きました。

ARTICLES = "h1.entry-title"
TITLE = ".entry-title-link.bookmark"
articles = driver.find_elements_by_css_selector(ARTICLES)
#記事数表示
print(len(articles))

#記事名出力
for article in articles:
    title = article.find_element_by_css_selector(TITLE)
    print(title.text)

結果

6
Python学習中
ラズパイでTweepy
ラズパイでLチカ(Python)
ラズパイ3を買ってきた
Mac上で仮想環境を作ってみる
思い立ったがなんとやら

というわけで成功です!
これを女優一覧のサイトに置き換えれば名前が取れるというわけですね。

感想

そもそもHTMLとCSSの知識がないので苦しみました。
そっちもインプットしていきたいと思います。

参考URL

下記の記事を参考にさせていただきました、ありがとうございます!
PythonでSeleniumを使ってスクレイピング (基礎)
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
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