Python

「ブログのページからPythonを使って本文を取得する」ただそれだけの単純なプログラミング

こんにちは Tomoです。

今回は、ブログのページからPythonを使って本文を取得ただそれだけの単純なプログラミングを行います。

結論からいうとコーディングの行数は6行です。

モジュールインストール

requestsモジュールをインストールします。インストールはAnacondaのinstallで行います。

    
conda install requests
    

プログラミング

ファイル名を「getblogpage.py」としコーディングを行います。

    
import requests
request = requests.get('{BLOG PAGE URL}')
print(request.text)
    

コーディングは以上です。

{BLOG PAGE URL}には自分のページのurlを入力して下さい。

ファイルを保存して実行すると自分のページのHTMLが出力されます。

実行

pythonのコマンドラインで実行します。

    
python getblogpage.py
    

出力結果は省略しますが、HTMLのタグが表示されます。

以上です。といいたいところですが、このままだと物足りない感じなので出力したHTMLから本文(文章)のみを抽出します。

ただし、この本文について私のページは全てpタグを使用しているためpタグ本文用に作成しています。

本文がpタグ以外の場合は別途ご検討下さい。

再度モジュールインストール

Beautiful Soupモジュールをインストールします。インストールはAnacondaのinstallで行います。

    
conda install beautifulsoup4
    

再度プログラミング

先ほど作成したファイルに追加します。

  
from bs4 import BeautifulSoup
import requests
request = requests.get('{BLOG PAGE URL}')
bs_result = BeautifulSoup(request.text, 'html.parser')
for line as bs_result.find_all('p')
    print(line.text)
  

Beautiful Soupモジュールをインポートします。

取得したページのurlからHTML情報を取得します。

BeautifulSoupの関数でHTML情報をBeautifulSoupのコンストラクターに渡します。

コンストラクタにHTML情報を渡すことで、BeautifulSoupのオブジェクトが作成されます。

BeautifulSoupの詳細は、以下のドキュメントを参照してください。

参考:https://www.crummy.com/software/BeautifulSoup/bs4/doc/

find_allのメソッドからpタグの情報を取得します。

find_allは複数取得されますので、繰り返し(for)文を使ってpタグひとつづつ出力します。

printでpタグを出力します。

再度実行

pythonのコマンドラインで実行します。

    
python getblogpage.py
    

すべての本文でではないですが、pタグで書かれた本文を取得することができます。

まとめ

pythonを使って自分のブログページの本文を取得しました。ただそれだけのブログラムです。

次回は本文をテキストファイルに出力したあとpythonで音声形式のファイルに変換して本文を読み上げるプログラミングを行いたいと思います。

コメント

0 件のコメント:

コメントを投稿

コメントをお待ちしています。