当前位置: 首页 > article >正文

wget基本使用

目录

前言                                                                           

准备工作                                                                    

基本语法

基本用法示例

下载单个文件:

指定保存文件名:

将文件保存到指定目录:

常用选项

高级用法示例

断点续传:

递归下载整个网站并限制深度:

下载指定类型的文件:

限制下载速度:

下载需要认证的资源:

伪造 User-Agent:

后台下载:

递归下载整个网站

使用验证

使用代理

使用 wgetrc 配置文件

总结:


前言                                                                           

什么是 wget

wget 是一个自由、非交互式的命令行工具,用于从网络上下载文件。它支持 HTTP、HTTPS 和 FTP 协议,并且非常适合在脚本中使用或者在没有图形界面的服务器上进行文件下载。

准备工作                                                                    

基本语法

wget [options] [URL]
options: 用于控制 wget 行为的选项(例如,保存文件名、下载速度限制等)。
URL: 你要下载的文件或资源的网址。

基本用法示例

下载单个文件:

wget https://example.com/image.jpg
这会下载 https://example.com/image.jpg 文件并将其保存到当前目录下,文件名为 image.jpg。

指定保存文件名:

wget -O myimage.jpg https://example.com/image.jpg
使用 -O 选项可以指定下载后保存的文件名,这里会保存为 myimage.jpg。

将文件保存到指定目录:

wget -P /path/to/directory https://example.com/document.pdf
使用 -P 选项指定保存目录,会将 document.pdf 保存到 /path/to/directory 目录中。

常用选项

  • -O filename (或 --output-document=filename):

     指定下载文件的保存名称。

  • -P directory (或 --directory-prefix=directory):

     指定下载文件的保存目录。

  • -c (或 --continue):

     断点续传。如果下载中断,可以继续上次下载未完成的部分。

  • -q (或 --quiet):

     安静模式,不显示下载进度信息。

  • -v (或 --verbose):

     详细模式,显示更多的下载信息。

  • -N (或 --timestamping):

     仅当服务器上的文件比本地文件新时才下载。

  • -r (或 --recursive):

     递归下载。这通常用于下载整个网站或目录。

  • -l depth (或 --level=depth):

     递归下载的深度,与 -r 一起使用。

  • -np (或 --no-parent):

     递归下载时,不进入父目录。

  • -A acclist (或 --accept acclist):

     只下载指定类型的文件,例如 -A jpg,png

  • -R rejlist (或 --reject rejlist):

     拒绝下载指定类型的文件,例如 -R gif,svg

  • -U agent (或 --user-agent=agent):

     指定 User-Agent,例如 -U Mozilla

  • -w seconds (或 --wait=seconds):

     每次下载后等待指定的秒数。

  • -limit-rate rate:

     限制下载速度,例如 --limit-rate=200k (200KB/秒)。

  • --no-check-certificate

    : 禁用 SSL 证书检查 (慎用,仅在必要时使用,存在安全风险)。

高级用法示例

断点续传:

wget -c https://example.com/bigfile.zip

如果下载 bigfile.zip 时中断,可以再次使用该命令从中断的地方继续下载。

递归下载整个网站并限制深度:

wget -r -l 2 -np https://example.com

这会递归下载 https://example.com 站点,深度为 2,并且不进入父目录。

下载指定类型的文件:

wget -r -l 2 -A pdf,doc https://example.com/documents

这会递归下载 https://example.com/documents 目录及其子目录中所有的 PDF 和 DOC 文件。

限制下载速度:

 wget --limit-rate=500k https://example.com/largefile.iso

这将限制下载速度为 500KB/秒

下载需要认证的资源:

如果资源需要用户名和密码,可以使用 --http-user=user 和 --http-password=pass 选项:

wget --http-user=myuser --http-password=mypass https://example.com/secret.zip

或者,如果使用 wgetrc 文件,可以在其中设置授权信息。

伪造 User-Agent:

wget -U "Mozilla/5.0 (X11; Linux x86_64; rv:120.0) Gecko/20100101 Firefox/120.0" https://example.com/

某些网站会检查 User-Agent,这时你可以伪造一个常见的浏览器 User-Agent 来绕过检测。

后台下载:

wget -b http://example.com/file.zip

递归下载整个网站

wget -r -l2 -P /save/directory http://example.com/-r: 递归下载 -l2: 最大递归深度为2层 -P: 指定保存目录

使用验证

wget --user=username --password=password http://example.com/private/file

使用代理

wget -e use_proxy=yes -e http_proxy=http://proxy.example.com:8080 http://example.com/file

使用 wgetrc 配置文件

wget 可以读取 /etc/wgetrc(全局配置)和 ~/.wgetrc(用户配置)两个配置文件。你可以在这些文件中设置常用的选项,以便每次运行 wget 时不必重复输入。

例如,你可以在 ~/.wgetrc 中添加:

continue = ontimestamping = onuser-agent = "Mozilla/5.0 (X11; Linux x86_64; rv:120.0) Gecko/20100101 Firefox/120.0"

这样,每次你运行 wget,都会自动启用断点续传、时间戳功能,并使用指定的 User-Agent

总结:

整理一些常用的方法,只有wget配置文件这一项不常使用,它的使用方法就是提前配置好直接使用,把一些方法组合在一起使用。


http://www.kler.cn/a/459145.html

相关文章:

  • 【面试系列】深入浅出 Spring Boot
  • python数据分析:使用pandas库读取和编辑Excel表
  • union的实际使用
  • playwright的page.wait_for 常见用法
  • 【Spark】架构与核心组件:大数据时代的必备技能(下)
  • 【0379】Postgres内核 walreceiver (libpqwalreceiver API)分析
  • Python爬虫教程——7个爬虫小案例(附源码)_爬虫实例
  • 如何优化Python网络爬虫的数据清洗流程,以提升数据质量并有效应对网站反爬虫机制?
  • pd.Timestamp接收的参数类型
  • 在K8S中,节点状态哪个组件负责上报?
  • 人形机器人全身运动规划相关资料与文章
  • JVM实战—JVM垃圾回收的算法和全流程
  • FPGA中三模冗余的4项关键技术(一)
  • 大数据Scala面试题汇总
  • LVS 负载均衡原理 | 配置示例
  • Ubuntu安装MinIO
  • 【蓝桥杯研究生组】第15届Java试题答案整理
  • 操作系统之死锁
  • HarmonyOS NEXT 实战之元服务:静态案例效果---我的热门应用服务
  • 人工智能在肿瘤亚型分类、药物筛选以及模型可解释性方面的最新进展|顶刊速递·24-12-30
  • 【RISC-V CPU debug 专栏 4 -- RV CSR寄存器介绍】
  • 基于STM32的智能家庭能源管理系统设计
  • SpringBoot(Ⅱ-2)——,SpringBoot版本控制,自动装配原理补充(源码),自动导包原理补充(源码),run方法
  • Node.js 记账本项目总结
  • PyTorch快速入门教程【小土堆】之全连接层
  • 24个未授权访问漏洞详情