使用BeautifulSoup提取Pepperfry网站图片URL的技术求助
用Python提取Pepperfry图片URL的解决方案
核心思路
直接解析HTML中的img标签,提取src或data-src属性值即可,推荐用BeautifulSoup库处理网页解析。
步骤1:安装依赖库
先安装必要的Python工具库:
pip install requests beautifulsoup4
步骤2:代码实现
情况1:已有目标HTML片段
如果已经拿到图片对应的HTML代码片段,直接解析提取:
from bs4 import BeautifulSoup # 替换为你获取到的HTML片段 html_snippet = '''<img src="https://ii1.pepperfry.com/supplierpng/1e76ddb7648665e70319edaae34b93ec.png?_v=13" data-src="https://ii1.pepperfry.com/supplierpng/1e76ddb7648665e70319edaae34b93ec.png?_v=13" alt="Merchant Info" class="mCS_img_loaded loaded">''' # 初始化解析器 soup = BeautifulSoup(html_snippet, 'html.parser') # 提取src属性的图片URL img_src = soup.find('img')['src'] print(f"图片URL:{img_src}") # 若需要提取data-src属性,直接替换属性名即可 img_data_src = soup.find('img')['data-src'] print(f"图片URL(data-src):{img_data_src}")
情况2:从目标页面批量提取
如果需要从Pepperfry的完整页面批量提取图片,先爬取页面再解析:
import requests from bs4 import BeautifulSoup # 替换为你要爬取的Pepperfry页面URL target_url = "https://www.pepperfry.com/your-target-page.html" # 设置请求头模拟浏览器,避免反爬拦截 headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36' } # 获取页面内容 response = requests.get(target_url, headers=headers) response.encoding = 'utf-8' # 解析页面 soup = BeautifulSoup(response.text, 'html.parser') # 筛选目标img标签(根据class或alt属性精准定位) target_imgs = soup.find_all('img', class_='mCS_img_loaded loaded') # 遍历提取所有符合条件的图片URL for img in target_imgs: # 优先取src,src不存在则取data-src img_url = img.get('src') or img.get('data-src') if img_url: print(img_url)
注意事项
- 部分网站有反爬机制,务必设置
User-Agent请求头,避免IP被封禁; - 若页面是动态加载(图片URL通过JS渲染生成),可能需要用
Selenium或Playwright处理动态内容; - 提取时注意精准筛选标签,比如通过
class、alt等属性锁定目标图片,避免提取无关内容。
内容的提问来源于stack exchange,提问作者Annie Dhawan
相关产品推荐
相关产品推荐

