1 (изменено: griha09, 2016-07-03 07:50:56)

Тема: VBS: ссылки Youtube с описанием

Пару лет назад создал себе файлик с ссылками Youtube вида:
https://www.youtube.com/watch?v=ScfyGWoeHq0
https://www.youtube.com/watch?v=1TtcM3jHAKE

сейчас не понятно что за ссылки, хочу чтоб было с названиями, например:
https://www.youtube.com/watch?v=ScfyGWoeHq0 Топ 5. Приколы над девушками (угар, смех, юмор, ржака)
https://www.youtube.com/watch?v=1TtcM3jHAKE приколы с девушками 2013 угар смех юмор ржака подборка

вот создал скриптик, но он не работает:

sps ="e:\Youtube2.txt" 'файл со списком ссылок

On Error Resume Next
Set objFSO = CreateObject("Scripting.FileSystemObject")
LogPath = objFSO.GetParentFolderName(WScript.ScriptFullName)
Set LogStream = objFSO.OpenTextFile(LogPath & "\Youtube с описанием.txt", 8, True)

'читаем файл со списком ссылок
Set File2 = objFSO.GetFile(sps)
Set TextStream = File2.OpenAsTextStream(1)
Str = vbNullString

While Not TextStream.AtEndOfStream
   Str = TextStream.ReadLine()
   
Set objIE = CreateObject("InternetExplorer.Application")
objIE.Visible = False
objIE.Navigate Str 	'адрес страницы в интернете
While objIE.Busy
    WScript.Sleep 200
Wend
 titl= objIE.document.title 
 
   LogStream.WriteLine Str &  "		" & titl
  Wend


LogStream.Close
TextStream.Close
Msgbox "ВСЕ!"


Также нашел в интернете скрипт скачивающий файлы, но нем возникает куча сложностей, таких как поиск и выделение названия из <title>, заморачиваться правильным названием файла при сохранении.

'Инициализируем переменные, в которых задаем URL-ы скачивания и пути для сохранения
Dim  sLink0, sLink1, sFileName0, sFileName1
 sLink0     = "http://my.site.com/files/file01.pdf"
 sFileName0 = "C:\Temp\Temp\Temp\file05.pdf"
 sLink1     = "http://your.site.ru/files/shmiles/file003.exe"
 sFileName1 = "C:\Temp\Temp\Temp\Temp\Temp\Temp\SSDB\Execution.exe"

 Set WshShell = CreateObject("WScript.Shell") 

'Скачиваем и сохраняем первый файл
 URLGet sLink0, sFileName0
 WScript.Sleep 100
 
'Открываем скачанный pdf-файл развернутый в окно и не ждем его закрытия
 WshShell.Run sFileName0, 4, false

'Скачиваем и сохраняем второй файл
 URLGet sLink1, sFileName1
 WScript.Sleep 100

'Завершаем скрипт
 Set WshShell = Nothing
 WScript.Quit 0

'Функция для скачивания и сохранения файлов
Function URLGet(URL, SaveAs)
'Если вдруг в URL используется прямой слэш, заменяем его на обратный
 URL = Replace(URL,"\","/")
 FileName = SaveAs
 Set XMLHTTP = CreateObject("Microsoft.XMLHTTP")
'Открываем запрос GET на скачивание файла
 XMLHTTP.Open "GET",URL,"False"
 XMLHTTP.Send

'Если файл существует, качаем его
 if XMLHTTP.statustext = "OK" then
  URLGet = "OK"
  Set ADOStream = CreateObject("ADODB.Stream")
  ADOStream.type = 1
  ADOStream.Open
  ADOStream.Write XMLHTTP.responseBody
  Set fso = WScript.CreateObject("Scripting.FileSystemObject")

'Разделяем полный путь на путь и имя файла
  i = InStrRev(FileName, "\") 'позиция последнего \
  Name = Mid(FileName, i + 1)
  Folder = Left(FileName, i - 1)
  'MsgBox FileName & vbLf & Name & vbLf & Folder

'Если нужного нам пути не существует, то создаем его
  If fso.FolderExists(Folder) = false Then
	'MsgBox Folder
	WshShell.Run "cmd /c mkdir " & Folder, 0, true 	
  End If

'Если по заданному пути существует файл с таким же именем, как и скачиваемый, то удаляем его
  if fso.FileExists(FileName) then fso.DeleteFile(FileName)

'Сохраняем скачанный файл и закрываем поток
  ADOStream.SaveToFile FileName, 2
  ADOStream.Close
  Set ADOStream = Nothing
 end if
 Set XMLHTTP = Nothing
End Function

 

Мне больше по душе мой вариант без сохранения файлов. Как его подправить ?

2

Re: VBS: ссылки Youtube с описанием

griha09
Есть спецутилита, скрипты не нужны.

+ DD