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 件のコメント:
コメントを投稿