Определение переменной в качестве URL-адреса в источнике страницы с помощью VB.net? - PullRequest
0 голосов
/ 27 апреля 2011

Я пишу программу на VB.net, которая состоит из трех основных этапов:

ШАГ 1: Показать исходный код веб-страницы, на которой потоковое воспроизведение фильма на нем, в textbox1.

ШАГ 2: выделите URL-адрес этого фильма в исходном коде, а затем отобразите только URL-адрес в текстовом поле 3.

ШАГ 3. Загрузите этот фильм, используя HttpWebRequest и HttpWebResponse в пользовательский каталог

Проблема в том, что я не знаю, как мне эффективно извлечь URL из исходного кода.может быть, я мог бы попытаться найти в исходном коде строку «.mp4» или «.avi» или другие расширения видео, но это бы нашло только конец ссылки, как бы я выделил всю ссылку?

Например: если я искал в исходном коде « .mp4 » и там был URL-адрес, например

"http://megavideo.com/g7987bfd0fg.mp4"

тогда я получу только

"http://megavideo.com/g7987bfd0fg .mp4 "

я знаю, что есть какой-то способ начать с определенного персонажав документе и идите вперед или назад на несколько символов, но проблема возникает, когда вы не знаете, сколько символов нужно вернуться из-за разной длины URL-адресов ... существует ли способ поиска http://и затем найдите .mp4 и затем выделите все, что между ними?

# EDIT # Мне также нужно иметь возможность передать этот URL в другой процесс, который будетзагрузите файл, используя " httpwebrequest " и " httpwebresponse ", поэтому было бы идеально, если бы я мог сделать что-то вроде:

textbox3.text = extracted link

Заранее спасибо!

Ответы [ 2 ]

0 голосов
/ 27 апреля 2011

Ваш лучший выбор - регулярные выражения.Получить приложение под названием RegexBuddy .Это поможет вам написать регулярное выражение для ваших нужд

Попробуйте этот код

Dim input As String= "Your initial page source that you want to search through"
Dim pattern As String = "http\:\/\/[.]*\.mp4"

Dim rgx As New Regex(pattern, RegexOptions.IgnoreCase)
Dim matches As MatchCollection = rgx.Matches(input)
If matches.Count > 0 Then
   For Each match As Match In matches
      DownloadVideo(match.Value)
   Next   
End If 
0 голосов
/ 27 апреля 2011

Что бы я сделал, это сопоставил бы регулярное выражение, чтобы найти искомую строку.

вот пример для начинается с Шаблон регулярного выражения для проверки, начинается ли строка с определенной подстроки?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...