如何使用BeautifulSoup提取div的属性值

时间:2017-04-02 21:44:59

标签: python bs4

我有一个div,其ID是" img-cont"

<div class="img-cont-box" id="img-cont" style='background-image: url("http://example.com/example.jpg");'>

我想用美丽的汤来提取背景图像中的网址。我该怎么做?

2 个答案:

答案 0 :(得分:5)

第一场比赛你可以find_allfind

import re 
soup = BeautifulSoup(html_str)
result = soup.find('div',attrs={'id':'img-cont','style':True})
if result is not None:
  url = re.findall('\("(http.*)"\)',result['style']) # return a list. 

答案 1 :(得分:1)

试试这个:

import re

from bs4 import BeautifulSoup

html = '''\
<div class="img-cont-box" \
id="img-cont" \
style='background-image: url("http://example.com/example.jpg");'>\
'''

soup = BeautifulSoup(html, 'html.parser')
div = soup.find('div', id='img-cont')
print(re.search(r'url\("(.+)"\)', div['style']).group(1))