Python 如果我用的是漂亮的汤,我怎么能得到所有的图像?

Python 如果我用的是漂亮的汤,我怎么能得到所有的图像?,python,html-parsing,beautifulsoup,Python,Html Parsing,Beautifulsoup,如果代码如下所示,如何创建图像: <div class="galery-images"> <div class="galery-images-slide" style="width: 760px;"> <div class="galery-item galery-item-selected" style="background-image: url(/images/photo/1/20130206/30323/136666697057736800.jpg);">

如果代码如下所示,如何创建图像:

<div class="galery-images">
<div class="galery-images-slide" style="width: 760px;">
<div class="galery-item galery-item-selected" style="background-image: url(/images/photo/1/20130206/30323/136666697057736800.jpg);"></div>
我得到一份清单:

[<div class="galery-item galery-item-selected" style="background-image: url(/images/photo/1/20130206/30323/136666697057736800.jpg);"></div>, 
<div class="galery-item" style="background-image: url(/images/photo/1/20130206/30323/136013892671126300.jpg);" ></div>, 
<div class="galery-item" style="background-image: url(/images/photo/1/20130206/30323/136666699218876700.jpg);"></div>]
我不明白:我如何才能获得所有图像?

,将主机连接到URL的开头,最后像这样下载图像

import urllib

urllib.urlretrieve("https://www.google.com/images/srpr/logo11w.png", "google.png")

为了让您的生活更轻松,您应该使用正则表达式:

urls = []

for ele in soup.find_all('div', attrs={'class':'galery-images-slide'}):
    pattern = re.compile('.*background-image:\s*url\((.*)\);')
    match = pattern.match(ele.div['style'])
    if match:
        urls.append(match.group(1))
这是通过查找属于父div的所有div来实现的,父div具有类:“galery images slide”。然后,您可以使用正则表达式解析子div以查找任何包含样式的div,该样式本身包含背景url

因此,根据上面的示例,这将输出:

[u'/images/photo/1/20130206/30323/136666697057736800.jpg']
现在,要下载指定的图像,您需要在url前面附加站点名称,您应该能够下载它

注:

这需要Python中的regex模块re和BeautifulSoup。
而且,我使用的正则表达式非常幼稚。但是,您可以根据需要对此进行调整以满足您的需要。

是否下载图像?是的。我怎么能做到?谢谢你。这是一个很好的解决方案,但不起作用。我只有一场比赛。但是我想要嵌套@Olga中的所有图像,您可以调整我的解决方案,使其适用于x个图像。
[u'/images/photo/1/20130206/30323/136666697057736800.jpg']