使用Javascript从给定URL的img标签提取资源链接(适配Facebook帖子页面)
从网页URL提取所有img标签src地址的实现方法
方法1:Python脚本批量提取(适合多URL批量处理场景)
需要先安装依赖库:pip install requests beautifulsoup4
可直接使用的示例代码:
import requests from bs4 import BeautifulSoup from urllib.parse import urljoin def get_all_img_urls(page_url): # 配置浏览器UA避免被基础反爬拦截 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" } resp = requests.get(page_url, headers=headers) resp.encoding = resp.apparent_encoding soup = BeautifulSoup(resp.text, "html.parser") img_tags = soup.find_all("img") img_urls = [] for img in img_tags: src = img.get("src") if src: # 自动把相对路径转为绝对路径 absolute_src = urljoin(page_url, src) img_urls.append(absolute_src) return img_urls # 调用示例,替换为你要提取的目标页面URL即可 target_url = "https://example.com" result = get_all_img_urls(target_url) for img_url in result: print(img_url)
使用注意事项:
- 部分站点有反爬机制,可根据需求调整请求头、添加访问延迟或代理配置
- 懒加载站点的图片通常会把真实地址放在
data-src、data-original等自定义属性中,可对应修改代码里提取的属性字段 - Facebook等需要登录才能访问的页面,需要在请求头中添加你登录后的Cookie信息,才能获取到完整的页面内容
方法2:浏览器控制台快速提取(适合单页面临时提取场景)
操作步骤:
- 打开目标网页,等待页面加载完成,按F12打开开发者工具,切换到「控制台」标签
- 输入下方代码回车,即可直接输出当前页面所有图片的绝对URL:
[...document.querySelectorAll('img')].map(img => img.src).filter(src => src)
使用注意事项:
- 针对懒加载页面,可先将页面滚动到底部,等待所有图片加载完成后再执行代码
- 处理Facebook等需登录的页面时,先登录账号进入目标页面后再执行代码即可,无需额外配置
内容的提问来源于stack exchange,提问作者Scania_16
相关产品推荐
相关产品推荐

