【Linux】centos 批量下载网页中的内容(抓取链接+下载)

写在前面

centos下载通常使用wget,wget本身具有丰富的功能,可以指定让wget只批量下载一类文件,或者不下载什么文件,例如:

wget -m –reject=gif http://target.web.site/subdirectory

针对wget的更多批量下载功能,可参考文章:
wget命令详解——批量下载等

本文主要针对Centos系统中批量下载网页中的特定内容,特别是当网页中的文件名不是下载链接的情况,主要思路是在网页上抓取需要的文件链接保存到一个文本文件中,然后用wget批量下载。主要流程是抓取网页内容(源码)-筛选需要下载的文件链接-批量下载。

示范网址为公开网站:https://ftp.mozilla.org/pub/firefox/releases/0.10.1/contrib-localized/

在这里插入图片描述

抓取网页

方法一:curl抓取

curl下载网页内容,保存在shifan_html文件中

curl https://ftp.mozilla.org/pub/firefox/releases/0.10.1/contrib-localized/ -o  shifan_html

https用curl无法抓取,改用wget

方法二:wget抓取

curl下载网页内容,保存在shifan_html文件中

wget https://ftp.mozilla.org/pub/firefox/releases/0.10.1/contrib-localized/  -O  shifan_html

筛选需要的链接

cat查看文件内容,发现十分杂乱无章:
在这里插入图片描述
下载所有尾缀为xpi的文件,需要对链接进行筛选,用grep进行筛选并将筛选出的行保存到shaixuan.txt文件中:

grep ".xpi" shifan_html >shaixuan.txt
## 。xpi: 要筛选内容的共同部分
## shifan_html: 要筛选的文件
## shaixuan.txt: 保存的文件名

同理,也可筛选除xpi尾缀以外的所有文件:

grep -v ".xpi" shifan_html >shaixuan2.txt

筛选后的文件如下:
在这里插入图片描述
用awk对cat的文本文件进行再次编辑,设置"为分隔符,然后取链接对应的列,写入一个新的文本文件shaixuan3.txt。代码如下:

cat shaixuan.txt | awk -v FS='"' '{print $2}' >shaixuan3.txt
## FS='"' : 以”为分隔符
## print $2: 提取第二列

查看筛选出的链接:
在这里插入图片描述

发现筛选出的链接缺少前缀,用awk手动补充并保存到文件lianjie.txt:(如链接完整可省略此步)

awk '{print "https://ftp.mozilla.org/pub" $0}' shaixuan3.txt >lianjie.txt

##awk '{print "需要添加的字符" $0}' fileName

在这里插入图片描述

批量下载

wget -b -i lianjie.txt

写在后面

html 文件格式多种多样,本文只列举其中一种,如有其他格式处理的需要可私信笔者,如需求多可另单写一篇教程。希望本文能对大家有所帮助。

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
你可以按照以下步骤来在Linux CentOS 7上下载Python 3.7: 1. 首先,你可以使用以下命令来检查当前CentOS系统上安装的Python版本:`python -V` [1]。这将显示当前Python的版本号。 2. 接下来,你需要打开`/usr/local`目录。你可以使用 `cd /usr/local` 命令来进入这个目录。 3. 然后,你可以使用以下命令来下载Python 3.7的安装包: ``` wget https://www.python.org/ftp/python/3.7.10/Python-3.7.10.tgz ``` 。这个命令将会从Python官方网站下载Python 3.7的压缩包。 4. 最后,你可以按照Python官方网站上的指示,解压缩和安装Python 3.7。具体的安装步骤可能会因版本而异,所以请确保在安装之前仔细阅读官方文档。 希望以上步骤可以帮助你在CentOS 7上下载Python 3.7。如果你遇到任何问题,请随时向我提问。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [Linux(CentOS7)下载并安装Python 3教程及创建虚拟环境](https://blog.csdn.net/weixin_43335288/article/details/126558329)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [Linux Centos7安装python3.7和安装pykmip](https://blog.csdn.net/fen_fen/article/details/123520752)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值