python使用正则表达式获取特定标签下的img标签的src
时间: 2023-09-03 08:10:59 浏览: 231
可以使用Python中的re和BeautifulSoup库来实现。
首先,使用BeautifulSoup库将HTML代码解析为BeautifulSoup对象:
```python
from bs4 import BeautifulSoup
html = """
<html>
<head>
<title>Example</title>
</head>
<body>
<div class="content">
<h1>Heading</h1>
<p>Paragraph</p>
<img src="image1.jpg">
<img src="image2.jpg">
</div>
</body>
</html>
"""
soup = BeautifulSoup(html, 'html.parser')
```
接下来,使用正则表达式和find_all方法来获取特定标签下的img标签的src属性:
```python
import re
img_tags = soup.find_all('img', {'src': re.compile('.jpg$')})
for img_tag in img_tags:
print(img_tag['src'])
```
这个例子中使用了正则表达式`.jpg$`来匹配以.jpg结尾的src属性,因此只有`image1.jpg`和`image2.jpg`会被匹配到。
相关问题
python如何用正则表达式爬取网页中<div id='resc-71627-share-img-div' style="display: none">中<img>中的src
在Python中,如果你想通过正则表达式从特定CSS选择器(如`<div id='resc-71627-share-img-div' style="display: none">`)下的`<img>`标签中提取 `src` 属性,你需要先解析HTML内容,因为直接使用正则是不够的。可以使用第三方库如`BeautifulSoup`结合正则表达式来完成这个任务。这里是一个示例:
```python
from bs4 import BeautifulSoup
import requests
url = 'your_target_url' # 替换为你想抓取的网页URL
response = requests.get(url)
soup = BeautifulSoup(response.text, 'html.parser')
target_div = soup.select_one('#resc-71627-share-img-div') # 使用CSS选择器找到目标div
if target_div and 'style="display: none"' not in target_div.attrs['style']:
img_tags = target_div.find_all('img')
for img in img_tags:
src = img.get('src')
if src:
print(f"图片src: {src}")
阅读全文