我在VB.net中编写一个程序,包括三个主要步骤:
步骤1:在textbox1中显示正在其上流式传输电影的网页的源代码。
第2步:在源代码中突出显示该电影的URL,然后在textbox3中仅显示该URL。
步骤3:使用 HttpWebRequest 和 HttpWebResponse 将该电影下载到用户定义的目录
问题是我不知道如何有效地从源代码中提取URL。也许我可以尝试在源代码中搜索字符串“.mp4”或“.avi”或其他视频扩展,但这只会找到链接的结尾,我将如何突出显示整个链接?
例如:如果我在源代码中搜索“ .mp4 ”并且有一个网址,例如
“http://megavideo.com/g7987bfd0fg.mp4”
然后我才会得到
“http://megavideo.com/g7987bfd0fg 的的.mp4 “
我知道有一些方法可以从文档中的某个字符开始,向前或向后移动几个字符,但是当你不知道由于不同长度的URL而返回多少个字符时会出现问题...有什么方法可以搜索 http:// ,然后搜索 .mp4 ,然后突出显示它们之间的所有内容?
#EDIT#我还需要能够将此网址提供给另一个将使用“ httpwebrequest ”和“ httpwebresponse >所以如果我能做的话会很理想:
textbox3.text = extracted link
提前致谢!
答案 0 :(得分:0)
我要做的是做一个正则表达式匹配来找到我正在寻找的字符串。
这是一个以Regex pattern for checking if a string starts with a certain substring?
开头的示例答案 1 :(得分:0)
最好的选择是正则表达式。获取名为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