Найти в Дзене
Виктор Шугаров

VBScript: Работа с сайтом VK.com [Часть 05. Разбор "полётов"].

За окном шел дождь и рота красноармейцев. (с) из книги "Штирлиц, или Как размножаются ежики" . Вот уже довольно долго не пишу продолжение, можно подумать, что всё-таки автор "сдулся" и ... Но нет, просто занимался другими делами, а потом изучал матчасть и немного переделывал скрипт. Ну давайте по порядку. Про знак вопроса в запросе "GET". Удалось выяснить, что некоторые браузеры ( Internet Explorer точно из таких) кешируют GET-запросы и решением/обходом данной проблемы может являться использования метода запроса GET, включающего уникальную строку запроса с вызовом. [например читаем тут -> http://wp.wiki-wiki.ru/wp/index.php/XMLHttpRequest в разделе "Известные проблемы"] Вот imho почему "правильно" заработал скрипт. Но проще было бы добиться добавлением в заголовок кода, который не даст использовать кеширование. Вроде так получается. Ну ещё проблема есть с лишними строками в конечном файле с ссылками, например такое может быть: Эта строка появилась, так как есть в ней слово "u
Оглавление

За окном шел дождь и рота красноармейцев. (с) из книги "Штирлиц, или Как размножаются ежики" .

Вот уже довольно долго не пишу продолжение, можно подумать, что всё-таки автор "сдулся" и ...

Но нет, просто занимался другими делами, а потом изучал матчасть и немного переделывал скрипт.

Ну давайте по порядку. Про знак вопроса в запросе "GET". Удалось выяснить, что некоторые браузеры ( Internet Explorer точно из таких) кешируют GET-запросы и решением/обходом данной проблемы может являться использования метода запроса GET, включающего уникальную строку запроса с вызовом. [например читаем тут -> http://wp.wiki-wiki.ru/wp/index.php/XMLHttpRequest в разделе "Известные проблемы"] Вот imho почему "правильно" заработал скрипт.

Но проще было бы добиться добавлением в заголовок кода, который не даст использовать кеширование. Вроде так получается.

Ну ещё проблема есть с лишними строками в конечном файле с ссылками, например такое может быть:

  • "share":{"url":"https://pu.vk.com/c857036/upload.php"

Эта строка появилась, так как есть в ней слово "url". Это легко поправить, если вспомнить/увидеть, что эти слова идут с начала строки. Надо заменить код на другой:

  • If InStr(1,h&j,x(i),1) <> 0 Then
  • If InStr(1,h&Left(j,Len(x(i))),x(i),1) <> 0 Then

Мы столько символов с начала строки, сколько их в слове-шаблоне и проверяем на совпадение, добавив спереди двойную кавычку.

Таким образом получится на выходе массив/файл без излишеств.

Если на выходе получается файл *.txt размером в 0 байт, то могут быть как минимум две причины.

  1. Вы не являетесь подписчиком сообщества.
  2. Необходима авторизация в VK.

Но в остальном это работает.

Вы можете использовать другой метод по получению ссылок, без наших "излишеств" со скачиванием файла и так далее. Можно просто открыть страницу в браузере с видео и сохранить её в файл. Например в Chrome это делается нажатием Ctrl+S с выбором типа файла "Веб-страница, только HTML". А уже этот файл спокойно разобрать скриптом.

Авторизация на сайте VK будет добавлена в этом скрипте?

Нет. Я не вижу возможности делать как продолжение в этом скрипте этот блок кода, с авторизацией. Это другая тема, будет точно несколько статей про это, вроде как получилось уже даже - выполняется по номеру телефона и паролю.

Вероятно/точно про авторизацию будет рассказано не так подробно, как кому-то хочется, заранее предупреждаю. Данная информация рассказывается в целях обучения и обмена опытом.

Спасибо, удачи!