スポンサーリンク

【コピペOK】PythonでXPathを使ってスクレイピングする手順

【コピペOK】PythonでXPathを用いてスクレイピングする手順

 

★悩み★
・Pythonを使ってWebサイト上からデータを自動的に取得できないかな。
・Pythonで効率的にある箇所のHTMLデータを取得できないかな
・PythonでXPathを使ってWebサイトをスクレイピングできないかな。


こういった「悩み」に答えます。
 

★本記事の内容★
① PythonでXPathを使ってスクレイピングするまでの準備をご紹介
② PythonでXPathを使ってスクレイピングする手順をご紹介


これからご紹介する「PythonでXPathを使ってスクレイピングする手順」を実践したことで、30分以内で「PythonでXPathを使ってWebサイトをスクレイピング」できました。

記事の前半では「PythonでXPathを使ってスクレイピングするまでの準備」を解説しつつ、記事の後半では「PythonでXPathを使ってスクレイピングする手順」を紹介します。

この記事を読み終えることで、「PythonでXPathを使ってスクレイピング」できる状態になります。

PythonでXPathを使ってスクレイピングするまでの準備

PythonでXPathを使ってスクレイピングするまでの準備


「PythonでXPathを使ってスクレイピングするまでの準備」に関してご紹介します。

★PythonでXPathを使ってスクレイピングするまでの準備★
手順1: Pythonをインストール
手順2: XPathでスクレイピングするためのPythonライブラリをインストール
手順3: WebサイトのXPathを取得


上記の流れで、「PythonでXPathを使ってスクレイピングするまでの準備」ができます。
 

上記の各手順は、以下の日時で動作確認済みです。
動作確認済み日時:2021年4月17日


以降で、上記「PythonでXPathを使ってスクレイピングするまでの準備」の各手順に関してご説明します。

手順1: Pythonをインストール

「手順1: Pythonをインストール」に関してご説明します。


「Pythonのインストール手順」に関しては、以下の記事をご覧ください。
 


以上で、「手順1: Pythonをインストール」は完了です。

手順2: XPathでスクレイピングするためのPythonライブラリをインストール

「手順2: XPathでスクレイピングするためのPythonライブラリをインストール」に関してご説明します。
 

XPathでスクレイピングするために、「lxml」と「requests」ライブラリをインストールしましょう。


「XPathでスクレイピングするためのPythonライブラリをインストール」に関しては、以下の記事「ステップ2:BeautifulSoupのインストール」をご覧ください。
 


以上で、「手順2: XPathでスクレイピングするためのPythonライブラリをインストール」は完了です。

手順3: WebサイトのXPathを取得

「手順3: WebサイトのXPathを取得」に関してご説明します。
 

Google Chromeを用いて、WebサイトのXPathを取得してください。


Google ChromeでXPathを取得する手順に関しては、以下の記事をご覧ください。
 


以上で、「手順3: WebサイトのXPathを取得」は完了です。
 

上記の流れで、PythonでXPathを使ってスクレイピングするまでの準備ができました。

 

PythonでXPathを使ってスクレイピングする手順

PythonでXPathを使ってスクレイピングする手順


「PythonでXPathを使ってスクレイピングする手順」に関してご紹介します。

★PythonでXPathを使ってスクレイピングするまでの流れ★
手順1:PythonでXPathを使ってスクレイピングするプログラムを作成
手順2:「PythonでXPathを使ってスクレイピングするプログラム」を実行


上記の流れで、「PythonでXPathを使ってスクレイピングするまでの流れ」ができます。
 

上記の各手順は、以下の環境で動作確認済みです。
動作確認済み環境:CentOS Linux release 7.8.2003 (Core)


以降で、上記「PythonでXPathを使ってスクレイピングするまでの流れ」の各手順に関してご説明します。

手順1:PythonでXPathを使ってスクレイピングするプログラムを作成

「手順1:PythonでXPathを使ってスクレイピングするプログラムを作成」に関してご説明します。
 

「XPathを使ってスクレイピングする」Pythonプログラムを作成しましょう。


本記事では、「Webサイト https://www.yahoo.co.jp/ における下図赤枠のスクレイピング」を例として紹介します。
 

手順1:PythonでXPathを使ってスクレイピングするプログラムを作成


Pythonで「XPathを使ってスクレイピングする」プログラムは、以下となります。プログラム中の「適宜変更」と書いてある部分は、自分用に書き換えてください。

import lxml.html
import requests

"""
定数
"""
url = "https://www.yahoo.co.jp/" # スクレイピングしたいWebサイト(適宜変更)
target_xpath = '/html/body/div/div/main/div[2]/div[1]/article/div/section/div/div[1]' # 抽出したいXPath(適宜変更)

"""
スクレイピングしたいWebサイトのHTMLを取得
"""
req = requests.get(url)
html = req.text
dom = lxml.html.fromstring(html)

"""
XPathを用いて抽出
"""
scraped_data = dom.xpath(target_xpath)
for index, news in enumerate(scraped_data):
  for line in news.text_content().split(" "):
    print(line)


上記のプログラムを「website-xpath-scraping.py」というファイル名で保存しましょう。

以上で、「手順1:PythonでXPathを使ってスクレイピングするプログラムを作成」は完了です。

手順2:「PythonでXPathを使ってスクレイピングするプログラム」を実行

「手順2:PythonでXPathを使ってスクレイピングするプログラムを実行」に関してご説明します。

以下のコマンドを実行し、手順1で作成した「PythonでXPathを使ってスクレイピングするプログラム」の動作を確認しましょう。

# python website-xpath-scraping.py
4/17(土)
22:23更新防衛相
沖縄・与那国島を視察NEWコロナ死者
世界で300万人超NEW九州〜関東
18日にかけ黄砂注意CO2事故で息子2人失う
父悲痛学歴ロンダリング
やゆ受け苦悩いじめピークは小学2年
要因はNEWゆたぼん中学巡る宣言
識者見解F1角田
予選Q1でクラッシュNEW


上記のように「ニュース一覧の情報」が表示された場合、「PythonでXPathを使ってスクレイピングできた」と判断できます。

以上で、「手順2:PythonでXPathを使ってスクレイピングするプログラムを実行」は完了です。
 

上記の手順で、PythonでXPathを使ってスクレイピングができました。

 

【まとめ】PythonでXPathを使ってスクレイピングする手順

今回の記事を通して、PythonでXPathを使ってスクレイピングする手順をご紹介することで、以下の悩みを解消しました。
 

★悩み★
・Pythonを使ってWebサイト上からデータを自動的に取得できないかな。
・Pythonで効率的にある箇所のHTMLデータを取得できないかな
・PythonでXPathを使ってWebサイトをスクレイピングできないかな。


PythonでXPathを使ってスクレイピングする手順は?」で悩んでいるあなたにこの記事が少しでも役に立てれば幸いです。

コメント

タイトルとURLをコピーしました