【python】指定URLのHTMLを解析!記事タイトル一覧を一括取得する方法!

f:id:yshgs_elec:20210212214141j:plain

この記事では、

指定URLのHTMLを解析し、記事タイトル&リンク先を一括取得する方法

をご紹介します。

 

それでは早速やっていきます!

 ※この記事でのプログラミング言語はpythonを使っています。

 

スポンサーリンク

step0.必要なライブラリを準備

この記事では以下の二つのライブラリを使用します。

urllib.request 

pandas 

 

もしインストールしていなければインストールしておきましょう。

(やり方はググればすぐ出てきます。 )

 

スポンサーリンク

step1.指定URLのHTMLを取得する

早速ですが、指定URLのHTMLを取得するpythonコードをご紹介します。

※URLには私のブログのURLを入れています。


#ライブラリインポート
import urllib.request
import pandas as pd
pd.set_option("display.max_colwidth", None)
#テキストファイルを開く(出力用)
file = open('HTML.txt', 'w', encoding='utf-8')
#urlを指定する
url='https://www.higashisalary.com'
#HTMLを取得する
html=urllib.request.urlopen(url)
html=html.read().decode('utf-8')
#テキストファイルに書き込む
file.write(str(html))
file.close()

 

スポンサーリンク

step2.取得したHTMLを分析

以下が先ほど出力したテキストファイルの一部を抜粋したものです。

ブログのトップページのHTMLを取得しましたので、各記事へのリンク先の情報がこのテキストファイルに出力されています。

f:id:yshgs_elec:20210211211526j:plain

この中をよくみてみると下から3行目の

<a class=”entry-title-link”・・・という部分にリンク先のurlと記事タイトルが出力されているみたいですね。

※ここは使っているサイトによって違うはずですので、あなたが指定したURLではどのように記載されているかをよく確認してください。

 

 

つまり、さきほどテキストに出力したHTMLの中から、この 

<a class=”entry-title-link”・・・という文字が含まれている行だけを抜き取ってくれば、リンク先と記事タイトルを一括取得できそうですね。

 

スポンサーリンク

step3.記事タイトルとURLの部分だけを出力する

以下が先ほど紹介したようにHTMLの中から【entry-title-link】という文字が含まれている行だけを抜き取ってくるpythonコードです。

※先ほどのコートに追記する形で記載しています。


#ライブラリインポート
import urllib.request
import pandas as pd
pd.set_option("display.max_colwidth", None)
#テキストファイルを開く(出力用)
file = open('HTML.txt', 'w', encoding='utf-8')
#urlを指定する
url='https://www.higashisalary.com'
#HTMLを取得する
html=urllib.request.urlopen(url)
html=html.read().decode('utf-8')
#テキストファイルに書き込む
file.write(str(html))
file.close()
#entry-title-linkが含まれる行を抽出する
df=pd.read_table('HTML.txt')
file = open('Output.txt', 'w', encoding='utf-8')
for i in range(len(df)):
    if (df.iloc[i].str.contains('entry-title-link').bool()):
    file.writelines(str(df.iloc[i]))
    print(df.iloc[i])
file.close()

 

※実際にあなたがこのコードを実行する際は、’entry-title-link’の部分を適宜変更してご利用ください。

 

スポンサーリンク

実行結果の確認

最後にこのコードを実行してみましょう。

実行すると実行フォルダの中にOutput.txtというテキストファイルが出力されているはずです。

そのファイルの中身を見てみましょう。

 

以下のように各記事のURLと記事タイトルが出力されています。

f:id:yshgs_elec:20210212213229j:plain

 

このデータを活用すれば過去記事一覧ページなんかを簡単に作れそうですね。

私のブログの以下のページもこのスキルを応用して作りました。

記事一覧 – ヒガサラblog

 

スポンサーリンク

おわりに

というわけで今回はpythonを使って指定URLのHTMLを解析⇒記事タイトル一覧とリンク先URLを一括取得する方法についてご紹介しました。

 

記事中コードをコピーしてURLを書き換えるだけ、いろいろなところで役に立つはずです。

 

「やってみたいけどpythonなんて使ったことないよ・・・。」

という方へ。

 

pythonは【人気のプログラミング言語ランキング1位】にもなった注目のプログラミング言語です。

かじっておいて損はないはずですのでこの機会にインストール&勉強してみてはいかがでしょうか。

 

以下の書籍では、インストール方法から基礎スキルの解説まで初心者向けに詳細解説しています。

私もこの本からすべてをスタートさせました。

 

このように私のブログでは様々なプログラミングスキルを紹介しています。

・もっと革新的なことをやりたい。

・プログラミングについてもっと詳しくなりたい。

こんな思いを持っている人は、ぜひ他の記事も見てみてくださいね。

 

この記事が役に立ったという方は、ぜひ応援よろしくお願いします。

 ↓ 応援ボタン

にほんブログ村 IT技術ブログへ
にほんブログ村

 

それではまた!

コメント

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