#はじめに
この記事はプログラミングを始めて1ヶ月ほどの初心者でもできた内容となっているので上級者の方には少しつまらなく感じてしまうかもしれませんがご了承ください。
※プラス初投稿なのでお手柔らかに
#Webスクレイピングとは
Webスクレイピングとは、WebサイトのHTMLから必要な情報を抽出するコンピューターソフトウェア技術です。
データを抽出するにあたって、Webスクレイピングが規約に反してしまうサイトもあるのでちゅういしてください。
ex ) TwitterはAPIの利用が必須なので無断で使用すると法的に罰せられる可能性があります。
#使用したもの
- Python
- Requests
- Beautiful Soup
- Jupyter Notebook
言語はPythonを使用しました。
ただ、今回の内容は特にPythonを覚えたりはしなくてもコピペでできるので初心者の方でも安心してご覧ください。
※Jupyter Notebookはインストールしてあるものとします。インストールできていない方は先にインストールしておきましょう。
Requestsは、Apache License 2.0の下でリリースされたPython HTTPライブラリです。-Wikipedia
Beautiful Soupは、HTMLおよびXMLドキュメントを解析するためのPythonパッケージです。-Wikipedia
説明をしていても何も始まらないので早速作業に入っていきましょう。
なお、この記事はhttps://www.sejuku.net/blog/51241を参考にしています。
#早速やってみよう
まずはRequestsとBeautiful Soupをインストールします。
Windowsならコマンドプロンプトに、macならターミナルに次のコードを入れます。
※pipでインストールします。
pip3 install requests
Enterでインストールが始まります。
pip3 install beautifulsoup4
Enterでインストールが始まります。
インストールが終わったらJupyter Notebookを開きます。
Pythonでファイルを作成し、以下のコードをコピペします。
import requests
from bs4 import BeautifulSoup
r = requests.get("https://news.yahoo.co.jp/")
soup = BeautifulSoup(r.content, "html.parser")
#ニュース一覧のテキストのみ抽出
print(soup.find("ul", "newsFeed_list").text)
このコードでは先ほどインストールしたRequestsによってヤフーニュースの情報を取得してBeautiful Soupで要素を抽出しています。
このコードを動かしてみるとHTMLが返ってきます。
"ul" の "newsFeed_list" の部分だけ返ってきていると思います。
さて、そのコードを別のHTMLファイルに貼り付けて開いてみましょう。
ヤフーニュースの「おすすめ記事」のコードを取得できているはずです。
実際のページと見比べてみるのも面白いです。
#まとめ
今回は初心者向けにコピペでできるWebスクレイピングの方法を書いてみました。
Qiita自体始めて使用したので記事作成にかなり時間を費やしてしまいましたがこれからも学んだことをアウトプットしていこうと思います。
気になる方はぜひフォローをお願いします。。
最後までご覧いただきありがとうございました。