Excelを立ち上げ、ALT+F11を押下してツールー参照設定をして、Selenium Type Libraryにチェックをしてください。
VBのコードエディタに以下のマクロを張り付けてください。
Sub Main()
Dim driver As New ChromeDriver
Dim elmLoop As WebElement
Dim cURL As New Collection
Dim lUrlCount As Long
Dim KBDKeys As New Keys
On Error Resume Next
With driver
'DrivingJapanはチャンネル名に置換してください
.Get "https://www.youtube.com/c/DrivingJapan/videos?view=0&sort=dd"
.Wait 1000 * 5
'最後の動画まですべて表示させる
Do
lUrlCount = .FindElementByCss("ytd-grid-renderer").FindElementsByTag("A").Count
.FindElementByTag("body").SendKeys KBDKeys.End
.Wait 1000 * 5
Loop While lUrlCount <> .FindElementByCss("ytd-grid-renderer").FindElementsByTag("A").Count
Dim fp As Integer
fp = FreeFile
'保存する場所=ExcelのWorkBookが保存されているフォルダ
Open Application.Workbooks(1).Path & "\" & "YoutubeList.txt" For Output As #fp
'動画URLが含まれている可能性のある部分の全Aタグを走査する
For Each elmLoop In .FindElementByCss("ytd-grid-renderer").FindElementsByTag("A")
sURL = elmLoop.Attribute("HREF")
Err.Clear
cURL.Add Key:=sURL, Item:=cURL '2重登録回避チェック
If Err = 0 Then
If InStr(sURL, "https://www.youtube.com/watch?v=") Then
Print #fp, sURL
End If
End If
Next
Close #fp
End With
End Sub
コメント