Raspberry Pi 3 Model BにCentOS7をインストールしたので、ここにPython3とBeautifulSoup4でスクレイピングできる環境を構築する。CentOS7にはデフォルトでPython2はインストールされているが、Python3はインストールされていない。まずはPython3をインストールする。
yum-builddepをインストールするためにyum-utilsをインストール。
yum-builddepコマンドでPython3に依存関係のあるパッケージをインストール。
makeコマンドを使えるようにする(CentOS7インストール時点ではインストールされていない)。
Python3のソースファイルを適当なディレクトリにダウンロード。
Python3のインストール。
インストールの確認。
pipも同時にインストールされる。
続いてBeautifulSoup4をインストールする。
以上でスクレイピングできる環境が作成できたので、試しにスクレイピングしてみる。Raspberry PiとPythonでスクレイピングをするのタイトルと記事内のspanタグのテキスト一覧を取得するコードは以下の通り。
実行すると以下のようにタイトルと記事内のspanタグのテキスト一覧が取得できる。
Python3インストール
yum-builddepをインストールするためにyum-utilsをインストール。
yum-builddepコマンドでPython3に依存関係のあるパッケージをインストール。
makeコマンドを使えるようにする(CentOS7インストール時点ではインストールされていない)。
Python3のソースファイルを適当なディレクトリにダウンロード。
Python3のインストール。
インストールの確認。
pipも同時にインストールされる。
BeautifulSoup4のインストール
続いてBeautifulSoup4をインストールする。
スクレイピング
以上でスクレイピングできる環境が作成できたので、試しにスクレイピングしてみる。Raspberry PiとPythonでスクレイピングをするのタイトルと記事内のspanタグのテキスト一覧を取得するコードは以下の通り。
# ライブラリの読み込み
from urllib.request import urlopen
from bs4 import BeautifulSoup
# スクレイピングするページのurl
target = "http://irukanobox.blogspot.jp/2016/06/raspberry-pipython.html"
# 指定したurlからデータを読み込む
html_data = urlopen(target).read()
# パーサーに「html.parser」を指定してデータを解析
html_parsed = BeautifulSoup(html_data, "html.parser")
# classに「entry-title」が指定されているh3タグのテキストを表示
print("*** h3タグのテキスト ***")
print(html_parsed.find("h3", class_="entry-title").text.strip())
print()
# findAllを使うと、条件に一致するものすべてをlist型で取得できる
# ブログ記事内のspanタグのテキスト一覧を表示
print("*** spanタグのテキスト ***")
for span in html_parsed.find("div", class_="entry-content").find("div").findAll("span"):
print(span.text)
実行すると以下のようにタイトルと記事内のspanタグのテキスト一覧が取得できる。
0 件のコメント:
コメントを投稿