You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Selenium和BeautifulSoup提取IG图片的src链接?

解决Instagram爬虫仅提取图片src链接的问题

嘿,这事儿好办!你现在用soup.find_all()拿到的是一堆BeautifulSoup的标签对象,不是直接的链接,所以打印出来才会带标签的多余内容。咱们只需要遍历这些标签,把每个标签里的src属性提取出来就行。

修改后的代码示例

import requests
from bs4 import BeautifulSoup
import selenium.webdriver as webdriver
# 如果需要延时防反爬,可以加这个
# import time

url = 'https://www.instagram.com/kitties/'
driver = webdriver.Firefox()
driver.get(url)
# 可选:加个延时等页面加载完全,避免漏抓图片
# time.sleep(3)
soup = BeautifulSoup(driver.page_source, 'lxml')
img_tags = soup.find_all('img', class_='_2di5p')

# 遍历每个img标签,提取并打印src链接
for img in img_tags:
    print(img['src'])

# 要是想把链接存起来方便后续下载,可以存到列表里
img_url_list = [img['src'] for img in img_tags]
# 后续下载示例(可以单独写循环处理)
# for idx, url in enumerate(img_url_list):
#     response = requests.get(url)
#     with open(f'kitty_{idx}.jpg', 'wb') as f:
#         f.write(response.content)

关键说明

  • soup.find_all('img', class_='_2di5p')返回的是Tag对象列表,每个对象包含了img标签的所有属性,我们只需要用img['src']就能精准拿到图片链接。
  • 注意Instagram的反爬机制:频繁访问可能会被限制,建议加上time.sleep()延时,或者用代理IP。
  • 类名_2di5p可能会随着Instagram页面更新而变化,如果之后抓不到图片了,记得去网页源码里检查最新的img类名。
  • 如果你用的是Python3,print必须加括号,代码里已经按Python3的写法调整了。

内容的提问来源于stack exchange,提问作者P_n

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.29 08:01:08