2016-04-22 29 views
-1
#page source for bs4 
html = wd.page_source 
soup = BeautifulSoup(html, "html.parser") 



thumbnail = (soup.find('div', attrs={ "class" : "preview"})) 

输出我如何只提取SRC与美丽的汤

[<div class="preview"> 
<img alt="eye.jpg" src="https://thumb-service.domain.net/?sign=d85565637ccacf35673008b12871db54&amp;cdb=CPM&amp;fid=86274&amp;size=120&amp;format=jpg&amp;mtd=maxs&amp;mtdp=&amp;fp=&amp;ts=1461315108317" title="eye.jpg"> 
</img></div>] 

我想只是&为&的SRC,我已经搜索并尝试了各种建议,但我不能让这个

+0

你的意思是你想要的'src'属性的值,转义?导航到元素并提取属性。您是否阅读了手册的[*导航树*部分](https://www.crummy.com/software/BeautifulSoup/bs4/doc/#navigating-the-tree)?如果你这样做,你卡在哪里? –

+0

你的输出表明你使用'soup.find_all()',而不是'soup.find()'。你有一个* list *,其中有一个元素,而不仅仅是一个元素。 –

回答

2

你可以用CSS selector选择图片标签本身:

thumbnails = soup.select('div.preview img[src]') 
for thumbnail in thumbnails: 
    url = thumbnail['src'] 

上面的CSS选择器找到<img>标签,其中src属性在<div>的类别preview中。

你,你只需要第一匹配,然后使用select_one()

url = soup.select_one('div.preview img[src]')['src']