首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >VB Httpwebresponse内容

VB Httpwebresponse内容
EN

Stack Overflow用户
提问于 2015-06-12 11:32:31
回答 2查看 3.5K关注 0票数 0

在下面的网页上,我想在我的listbox1中获得youtube视频的所有标题

代码语言:javascript
复制
        Dim webRequest As WebRequest = webRequest.Create("https://www.youtube.com/results?q=test")
        Dim webresponse As WebResponse = webRequest.GetResponse()

        Dim sr As System.IO.StreamReader = New System.IO.StreamReader(webresponse.GetResponseStream())

        Dim youtube As String = sr.ReadToEnd

        Dim r As New System.Text.RegularExpressions.Regex("title="".*""")
        Dim matches As MatchCollection = r.Matches(youtube)

        For Each itemcode As Match In matches

            ListBox1.Items.Add(itemcode.Value.Split("""").GetValue(1))

不过,有了这段代码,我得到了标题,还有其他一些东西.

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-06-12 13:11:07

YouTube提供了一个API接口,这可能是获取这些信息的更好方法。您想要进行的特定调用记录在这里:https://developers.google.com/youtube/v3/docs/search/list

为了使用API,您需要创建一个YouTube密钥。这可以从Google开发者控制台中完成。一旦你有了密钥,你就可以打电话到YouTube搜索视频,获取视频信息等。

使用您的代码作为基础,您可以使用以下内容:

代码语言:javascript
复制
Dim url As String = "https://www.googleapis.com/youtube/v3/search?part=snippet&q=test&maxResults=50&key={YOUR-API-KEY}"

Dim webRequest As WebRequest = webRequest.Create(url)
Dim webresponse As WebResponse = webRequest.GetResponse()

Dim sr As System.IO.StreamReader = New System.IO.StreamReader(webresponse.GetResponseStream())

Dim youtube As String = sr.ReadToEnd

Dim r As New System.Text.RegularExpressions.Regex("""title"": "".*""")
Dim matches As MatchCollection = r.Matches(youtube)

For Each itemcode As Match In matches
    ListBox1.Items.Add(itemcode.Value.Split(":").GetValue(1).Trim().TrimStart("""").TrimEnd(""""))
Next

q参数指定搜索查询。这将得到你的搜索的前50匹配,并将他们放在你的下拉列表。

票数 1
EN

Stack Overflow用户

发布于 2015-06-12 12:42:51

如果要坚持使用正则表达式,请尝试以下操作

代码语言:javascript
复制
Dim r As New System.Text.RegularExpressions.Regex("title=""([^""]*)""")
Dim matches As MatchCollection = r.Matches(youtube)


For Each itemcode As Match In matches
    ListBox1.Items.Add(itemcode.Groups(1))
Next

然而,专用的API更干净。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30802039

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档