从源代码获取 youtube link 元素
Getting youtube link element from source code
我正在观察 http://www.bing.com/videos/search?q=kohli 并尝试查找视频网址。
锚标签包含 youtube link,但在我要提取的字典中。
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 link?
您可以使用 json.load
从 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 字典。像往常一样使用它们。
我正在观察 http://www.bing.com/videos/search?q=kohli 并尝试查找视频网址。
锚标签包含 youtube link,但在我要提取的字典中。
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 link?
您可以使用 json.load
从 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_dict = json.loads( div.a['vrhm'] )
加载 json 字符串并创建字典a_dict
.print a_dict['p']
a_dict
是一个 python 字典。像往常一样使用它们。
a
子节点的 vrhm
属性