取得したリンクに文字列を追加したい
解決したいこと
動画を自動でダウンロードするプログラムを組みたいと考えています。
ダウンロードをする動画が存在する対象URLはサムネが複数並び、サムネや動画タイトルをクリックするとその先のURLで動画が再生されるという形式です。
(youtubeのトップ画面と同じような見た目の構造)
1.サムネや動画タイトルに埋め込まれたリンクURLをリストとして集める
2.のちにまとめてダウンロード
こういった流れを考えています。
対象URLにアクセス
↓
requestsで情報取得
↓
BeautifulSoupでパース
↓
そこからaタグを抽出してリンクURLをリスト化
↓
ffmpegでダウンロード(できたらいいな)
という流れを想定しています。
ここで2点分からないことがあります
from bs4 import BeautifulSoup
import requests
import time
url = 'https://www.fnn.jp/'
res = requests.get(url)
time.sleep(3)
soup = BeautifulSoup(res.text, 'html.parser')
get_a = soup.find_all('a')
#ここまでは順調に機能
分からないこと1
【get_a】に含まれるaタグは
【a class=○○○○ href="/○○○○/】という形式が複数出てきます。
例:a class="m-article-item__link" href="/articles/-/344071"
となっており、この中の【href="/articles/-/344071】だけを抽出したいです。
get_link = get_a.find_all('href')
ですとか、
get_link = get_a.find_all(class_='href')
という記述をしたのですが、attribute errorと表記されてしまいます。
soup.find_allの記述は機能したのに、get_a.find_all()とするとエラーになる理由が分かりません。
どうしたらhref=の部分だけを抽出できるのでしょうか。
分からないこと2
抽出したい対象の【href="/articles/-/344071】に【https://】を追加して
【https://articles/-/344071】という形式にしたURLを集めたいのですが、どのように記述したらいいのか分かりません。
自分で試したこと
全くとっかかりがなくて検索などもうまくできていません。