logo
languageJPdown
menu

PythonでHTMLからテキストやURLを取得・抽出する方法

約6分で読めます

Webページから知りたい情報を手軽に収集したいと思ったことはありませんか?なにか調べ物をしていて大量のWebページを見る必要がある時や、とっても情報量が多いWebページを端から端まで見たい時などが該当します。そんな時は、手動で頑張るのではなく、プログラムにパパっとやってもらいましょう。ということでこの記事では、Pythonを使ってHTMLページからテキストやURLを取得する方法をご紹介いたします。サンプルコード付きなので、どなたでも簡単にお試しいただけますよ!ぜひ最後までご覧ください。

PythonでHTMLソースを取得する方法(サンプルコード付き)

ということで、まずはPythonを使ったHTMLソースの抽出方法をご紹介します。今回は以下の2種類のライブラリを使用した方法です。

Beautiful SoupでHTMLを取得する方法

1.まずはお使いのPCにBeautiful Soupをインストールします。Windowsはコマンドプロンプトで、Macの場合はターミナルを起動して下記のコマンドを打ち込みます。

Windowsの場合 : pip install beautifulsoup4

Macの場合 : pip3 install beautifulsoup4

2.インストールが終わったら、以下のサンプルコードを適当なテキストファイルにコピペし、◯◯.pyという名前で保存します。拡張子を”.py”とする点に注意しましょう。

import requests
from bs4 import BeautifulSoup
	
url = "解析したいWebサイトのURLを記入"
html = requests.get(url)
soup = BeautifulSoup(html.content, "html.parser")
	
print(soup)

3.ファイルが作成できたら、後は実行するだけです。例えばwindowsの場合は、下記の様にして実行します。

  • コマンドプロンプトを起動し、先程作成したファイルがあるディレクトリまで移動します。
  • 「Python ◯◯.py」と入力することで、ファイルを実行することができます(◯◯はファイル名)。

SeleniumでHTMLを取得する方法

1.はじめに、Seleniumのインストールを行います。例えばWindowsの場合は、コマンドプロンプトを起動して、下記のコマンドを実行します。

pip install selenium

2.つづいて、SeleniumがWebブラウザにアクセスするために使用するWebDriverを下記サイトよりダウンロードします。WebブラウザはGoogle Chromeが推奨されていますので、WebDriverもChrome用のものを使用します。

3.後は先程同様にテキストファイルに下記のサンプルコードを入力し、拡張子を”.py“として保存するだけです。実行方法も先程同様です。

from selenium import webdriver

chrome_path = "ダウンロードしたドライバへのパスを記入"
driver = webdriver.Chrome(chrome_path)

url = "解析したいWebサイトのURLを記入"
driver.get(url)
contents = driver.page_source
driver.quit()

print(contents)

PythonでHTMLからテキストを取得する方法(サンプルコード付き)

ではつづいて、取得したHTMLから任意のテキストを抽出する方法をご紹介します。今回は、先程ご紹介したBeautifulsoupを使用した方法について解説します。

やり方はとっても簡単。Beautifulsoupの取得対象に”text”を指定するだけです。さらにここでは余計なテキストの取得をフィルタリングするために、HTMLの”H2”に絞ってテキストの取得を行っています。

import requests
from bs4 import BeautifulSoup
	
url = "解析したいWebサイトのURLを記入"
html = requests.get(url)
soup = BeautifulSoup(html.text, "html.parser")
	
results = soup.select('#list h2 a')
for result in results:
print(result.getText())

PythonでHTMLからURLを取得する方法(サンプルコード付き)

最後のサンプルコード紹介では、HTMLからURL情報を抜き出す方法をご紹介いたします。今回もBeautifulsoupを活用した方法になります。

今回もやり方は非常に簡単で、HTMLで取得したテキスト一覧から、URLが記載されている部分のみを抜き出すだけです。「URL付きテキスト(URL)」という形式で出力されるので、わかりやすいですよ。

import requests
from bs4 import BeautifulSoup
	
url = "解析したいWebサイトのURLを記入"
html = requests.get(url)
soup = BeautifulSoup(html.text, "html.parser")
	
results = soup.select('#list h2 a')
for result in results:
	 print('{} ({})'.format(result.getText(),    result.get('href')))

Python知識なしでWeb上のHTML、テキスト、URLなどを抽出する方法はあるのか?

ここまでの記事やサンプルコードを見て、これは難しそうだと感じた方もいらっしゃるかもしれません。ですがご安心ください。今回ご紹介するOctoparseというツールを使用すれば、誰でも簡単にWebページからHTMLやテキストを取得することができるようになります!Octoparseウェブスクレイピングツールなら数クリックでWebページの情報を抽出できるので、コードを書く必要なく、直感的な操作で必要な情報を収集することができるようになるんです。

Octoparseの特徴:

  • 直感的な操作で誰でも簡単にスクレイピングができる
  • 様々なWebサイトに対応しており、ページの取得制限がない
  • 色々な出力形式に対応している
  • 日本語対応なので安心!

Octoparseの使い方:

【抽出開始】

1.まずはOctoparseの公式サイトにアクセスし無料登録した後、ダウンロードを実施します。

2.ツールを起動し、スクレイピングしたいWebページのURLを画面中央の検索欄に入力します。入力したら、「スタート」をクリックします。

【HTMLの抽出】

1.Octoparseの画面上にて、抽出したいテキストや画像をクリックします。選択された領域は緑色で表示されます。

2.ポップアップメニューより、「InnerHTML」または「OuterHTML」をクリックします。

3.画面下部に選択箇所のHTML情報が表示されます。

【テキストの抽出】

1.Octoparseの画面上にて、抽出したいテキストをクリックします。選択された領域は緑色で表示されます。

2.別の行のテキストを続けて選択することで、同じWebページ上の全ての類似要素を選択することができます。

3.ポップアップメニューより、「テキスト」をクリックします。

4.画面下部に選択箇所のテキスト情報が表示されます。

【URLの抽出】

1.Octoparseの画面上にて、抽出したいテキストリンクや画像をクリックします。選択された領域は緑色で表示されます。

2.別の行のリンクを続けて選択することで、同じWebページ上の全ての類似要素を選択することができます。

3.ポップアップメニューより、「リンク」をクリックします。

4.画面下部に選択箇所のリンク情報が表示されます。

まとめ

ということでこの記事ではPythonでHTMLからテキストやURLなどを取得する方法についてご紹介いたしました。人力でやろうとすると非常に大変ですが、Pythonによるプログラミングを使用することで、とっても簡単にWebページの情報を取得できることがお分かりいただけたかと思います!「プログラムは書きたくない!」という方でも、Octoparseなら誰でも簡単にWebページのデータが取得できるので、この機会にぜひ活用してみるのは如何でしょうか?

クリックだけでウェブ データを取得
無料ダウンロード

人気記事

トピックを検索する

今すぐOctoparseを始めて、業務効率化を実現しましょう。

ダウンロード

関連記事

  • avatarさとう
    プログラミング初心者の方向けに、簡単なWebクローラーの構築方法とその仕組みについて解説します。実際に構築をしなくても、Webクローラーの仕組みを理解することで、データ活用の幅が広がり、ITリテラシーの向上にもつながります。
    2025-02-13T12:19:33+00:00 · 7 min read
  • avatarいのうえ
    Webスクレイピングを行う上で、重要な役割を担うのが「XPath」です。しかし、XPathについて正しく理解できていない方も多いでしょう。そこで今回はXPathについて、基本から書き方までわかりやすく解説します。それ以外に、XPathでスクレイピングする手順とXPathを取得する方法についてもご説明します。
    2024-06-13T15:12:53+00:00 · 7 min read
  • avatarふじた
    Webスクレイピングを実行していると、403エラーが表示されて、データの抽出ができないことがあります。403エラーには、さまざまな原因があります。この記事では、Webスクレイピングの初心者の方に向けて、403エラーの原因や403エラーの解決策を解説します。
    2023-02-13T00:00:00+00:00 · 7 min read
  • avatarたかはし
    ビッグデータは、市場動向、顧客の好み、競合他社の分析に関連した情報を提供します。今やWebスクレイピングは、単にデータを収集するだけでなく、企業のマーケティング活動において必要不可欠と言ってもよいでしょう。ただし、Webスクレイピングプロセスをスケールアップすると、ブロッキングメカニズムなどの多くの課題が発生し、データを取得できなくなる可能性があります。ここではWebスクレイピングが抱える8つの課題と解決方法を紹介します。
    2023-02-06T00:00:00+00:00 · 7 min read