Linux 怎么批量下载某个网站所有图片?

1次阅读

wget或curl配合脚本可批量下载网站图片,关键在于选对工具、参数及规避反爬;wget适合静态站递归下载,curl+解析工具更适js渲染页面;需注意robots.txt、请求频率、User-Agent及https证书等问题。

Linux 怎么批量下载某个网站所有图片?

wgetcurl + 简单脚本 就能批量下载网站图片,关键是选对工具、加好参数、避开反爬限制。

用 wget 递归下载所有图片(最常用)

wget 支持按后缀过滤和深度限制,适合静态页面为主的网站。

  • 基础命令:获取当前页及子目录下所有 jpg/png/gif

wget -r -P ./images -A "*.jpg,*.jpeg,*.png,*.gif" -nH --no-parent https://example.com/

  • -r:开启递归下载
  • -P ./images:保存到本地 images 文件夹
  • -A:只接受指定后缀的文件
  • –no-parent:不跳到上级目录,防止越界抓取
  • -nH:不创建以主机名命名的子目录

如果网站图片在独立域名(如 cdn.example.com),加上 -H 允许跨域,再用 domains=cdn.example.com 限定范围。

先提取图片链接再下载(更灵活、适合复杂结构)

当网页用 JS 渲染、或图片地址藏在 data-src、背景样式里时,wget 默认抓不到。这时先用工具解析 html 提取真实图片 URL。

Linux 怎么批量下载某个网站所有图片?

Red Panda AI

ai文本生成图像

Linux 怎么批量下载某个网站所有图片? 74

查看详情 Linux 怎么批量下载某个网站所有图片?

  • curl + grep + sed 快速提取 img src:

curl -s https://example.com | grep -o 'src="[^"]*"' | sed 's/src="//' | sed 's/"$//' | grep -E '.(jpg|png|gif)$' | xargs -I {} wget -P ./images {}

  • 更可靠可用 python + requests + beautifulsoup 解析 DOM,处理相对路径、懒加载
  • 注意加 User-Agent 头,避免被 403 拒绝(wget 可加 --user-agent="Mozilla/5.0..."

注意事项和避坑提醒

不是所有网站都欢迎爬取,操作前请确认 robots.txt 和网站条款。

  • –random-wait–wait=1 控制请求频率,别给服务器添堵
  • 有些图片是带参数的动态 URL(如 ?v=123),wget 默认会保留参数;如需去参,得用脚本预处理
  • HTTPS 网站若证书异常,wget 加 –no-check-certificate(仅测试用,生产环境慎用)
  • 下载中断可加 -c 续传,配合 -N 跳过已下载文件

基本上就这些。小站直接 wget 一行搞定;大站或前端复杂的,建议先抽链接再下,可控性更强。

text=ZqhQzanResources