从源代码获取youtube链接元素

2024-04-25 19:15:33 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在观察http://www.bing.com/videos/search?q=kohli并尝试查找视频URL。你知道吗

锚定标签包含youtube链接,但在字典里面我想提取。你知道吗

redditFile = urllib2.urlopen("http://www.bing.com/videos?q="+urllib.quote_plus(word))
redditHtml = redditFile.read()
redditFile.close()
soup = BeautifulSoup(redditHtml)
productDivs = soup.findAll('div', attrs={'class' : 'dg_u'})
for div in productDivs:
    print div.find('a')['vrhm'] #This element contains youtube urls but print does not display it
    if div.find('div', {"class":"vthumb", 'smturl': True}) is not None:
        print div.find('div', {"class":"vthumb", 'smturl': True})['smturl'] #this gives link to micro video

如何从a标记和vrhm属性获取youtube链接?你知道吗


Tags: divcomhttpyoutube链接wwwfindvideos
1条回答
网友
1楼 · 发布于 2024-04-25 19:15:33

可以使用^{}从json字符串加载字典。你知道吗

for循环可以修改为

>>> productDivs = soup.findAll('div', attrs={'class' : 'dg_u'})
>>> for div in productDivs:
...     a_dict = json.loads( div.a['vrhm'] )
...     print a_dict['p']
https://www.youtube.com/watch?v=bWbrWI3PBss
https://www.youtube.com/watch?v=bWbrWI3PBss
https://www.youtube.com/watch?v=PbTx2Fjth-0
https://www.youtube.com/watch?v=pB1Kjx-eheY
..
..

它做什么?

  • div.a['vrhm']提取div的立即a子级的vrhm属性。

  • a_dict = json.loads( div.a['vrhm'] )加载json字符串并创建字典a_dict

  • print a_dict['p']a_dict是一个python字典。像平常一样使用它们。

相关问题 更多 >