【スクレイピング初心者向け】5分でできる!Qiita最新記事のタイトルを取得してみた!
最近pythonを使い始めたのですが、「pythonと言えばスクレイピングじゃね?」という謎の考えに囚われて、Udemyの講座を買ってしまいました。という訳で、簡単にスクレイピングしてみたのでメモ。
対象者
- スクレイピングしたことない人
- 前々から「スクレイピングってなによ!」と気になっていた人
- HTML/CSSの基本を理解している人
- for文等を使って簡単なプログラムを書くことができる人
スクレイピングとは?
Webサイトから、特定のデータを取得することを指します。
今回は、Qiitaのサイトから1日のトレンド記事のタイトルをスクレイピングしてみました。
https://qiita.com/
環境構築
pythonのインストール
以下のサイトからpythonをインストールしましょう。
https://www.python.org/downloads/
ターミナルで以下のコマンドを叩いて、pythonとpipがインストールされているか確認しましょう。
$ python -V
$ pip -V
seleniumのインストール
pythonでスクレイピングをする際にはBeautifulSoupかseleniumを使うことが多いみたいです。今回はseleniumをインストールして、スクレイピングを行なっていきます。
$ pip install selenium
さあスクレイピング!
スクレイピングの基本的な考え方は
1. どこのサイトの
2. どこの要素に
3. どのような処理をかけるのか
です。以下の完成コードをコメントとともに見ていきましょう。
# seleniumからwebdriverをimportする。
# webdriverを使って、ブラウザの操作をする。
from selenium import webdriver
# webdriverを使って、Google Chromeを開く。
browser = webdriver.Chrome()
# Qiitaのトップページにアクセスする。
browser.get('https://qiita.com/')
# Qiitaのトップページの中にある、classの名前が
# tr-Item_titleであるタグの情報を取得する。
items = browser.find_elements_by_class_name('tr-Item_title')
# 取得した複数の記事タイトルをfor文で展開する。
print('------') # 出力結果をわかりやすくするための記号列
for item in items:
print(item.text) # item.textとすればタイトルを取ることができる。
print('------') # 出力結果をわかりやすくするための記号列
# ブラウザを閉じる。
browser.close()
今回は、以下のようなことを行なっています。
1. https://qiita.com/ の
2. class名tr-Item_titleから
3. textの情報を取得する
ターミナル上で以下のように打ち込むと、1日のトレンド記事のタイトルを取得することができます。
$ python qiita.py
もっとスクレイピングしていきたい
Qiitaの記事タイトルをスクレイピングしてみましたが、多分もっと有益に使うやり方があるはず。今回の勉強で基本は抑えた気がしてるので、次回何か思いついたらまたスクレイピングしてみたいと思います。
Author And Source
この問題について(【スクレイピング初心者向け】5分でできる!Qiita最新記事のタイトルを取得してみた!), 我々は、より多くの情報をここで見つけました https://qiita.com/masa08/items/94faf4698b7cc3b92ad3著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .