コード一覧

【Python】BeautifulSoupを使ってURLとタイトルを取得する方法

URLとタイトル名を取得する方法

動画サイトなどは、URLとタイトル名が同じクラスの中にあるため、クラスのテキストを単純に取得しただけでは、綺麗なデータを取得できません。
そのため、URLとタイトルを綺麗なテキストの状態で取得する方法をまとめます。
※たまに使うと使い方を忘れてしまうので、記録として残しておきます。
まずは、全体のコード(URLとクラス名の〇〇〇の部分を任意のモノに変更したら動く)

 

 

BeautifulSoupとrequestsをimportする

モジュールをインポートする

 

手順ごとの解説

任意のURLを指定して、URLを開けて、HTMLの情報を取得してくる。

 

例えば以下のような情報なら、classの〇〇〇には、titleと指定する。
<span class=”title”>
<a href=”〇〇〇URL〇〇〇”  title=”タイトル名” class=”” >テキスト</a>
</span>
そうすると、上記の上方がすべて取得される。
しかし、欲しい情報は、URLとタイトル名のテキストなので、タグはいらない。
そこで、タグを外してURLとタイトル名を取得するためのコードが以下。

for tag in tags:でクラスを1ブロックごとに取り出して、tagに入れる。
次に、for a in tag.select(“a”)をしている。
これは、<a></a>タグの情報を取得する。という意味。
つまり、titleクラスの中に入っているaタグの情報を取得しています。という意味。

a.get(‘title’)は、aタグの中のtitle=”〇〇〇”を取得するという意味。
<a href=”〇〇〇URL〇〇〇”  title=”タイトル名” class=”” >テキスト</a>
</span>

url = a.get(‘href’)は、aタグの中のhref=”〇〇〇”の情報を取得するという意味
<a href=”〇〇〇URL〇〇〇”  title=”タイトル名” class=”” >テキスト</a>
</span>