从源代码获取youtube链接元素

时间:2015-06-25 10:37:05

标签: python web-scraping beautifulsoup

我正在观察http://www.bing.com/videos/search?q=kohli并尝试查找视频网址。

锚标记包含youtube链接,但在我想要提取的字典中。

vrhm

如何从public class ServiceFooRequest { public int ID { get; set; } } public class ServiceFooResponse { public string Bar { get; set; } } public ServiceFooResponse GetFoo(ServiceFooRequest request) { return new ServiceFooResponse { Bar = "Baz" }; } 代码和public class BLFooResponse { public string Bar { get; set; } } public class BLL { public BLFooResponse GetFoo(int id) { var serviceResponse = _serviceReferenceClient.GetFoo(new ServiceFooRequest { ID = id }); return new BLFooResponse { Bar = serviceResponse.Bar }; } } 属性获取YouTube链接?

1 个答案:

答案 0 :(得分:1)

您可以使用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']提取vrhm的直接a子项的div属性。

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

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