shell 爬虫:抓取树莓派杂志

之前买了一块树莓派 3B+,就经常光顾树莓派的官网,偶然发现树莓派官网的杂志能免费下载,于是就想把杂志都下载下来,但是又不想自己手动一个个下载,就有了写爬虫抓取的想法。

本来是想用 nodejs 写的,但是因为 nodejs 写的话,需要安装 nodejs 环境。于是用 shell 写了一个。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#!/bin/bash

echo 'start'
curl --proto '=https' --tlsv1.2 -sSf https://www.raspberrypi.org/magpi-issues/ > "test.html"

echo 'get html end'

echo '' > '1.txt'

for name in $( cat test.html | grep -Eo "<a href=\".*pdf\">" | sed -r 's/<a href=\"(.*pdf)\">/\1/g' )
# for name in $( cat test.html | sed -r 's/<a href=\"(.*pdf)\">/\1/g' )
# for name in $( sed -r 's/<a href=\"(.*pdf)\">/\1/g' test.html )
do
echo https://www.raspberrypi.org/magpi-issues/$name >> '1.txt'
echo -e "\tdir=./Magpi" >> '1.txt'
echo -e "\tout=$name" >> '1.txt'
done

rm -rf "test.html"

echo 'aria2c -c -j5 -x10 -s4 -i 1.txt --all-proxy="http://127.0.0.1:8888" && rm -rf 1.txt'

思路

将网页下载到本地,并用grep把需要的内容选出来,构建aria2c的下载文件,并打印最后下载的命令。


shell 爬虫:抓取树莓派杂志
https://bubao.github.io/posts/17656301.html
作者
一念
发布于
2021年1月6日
许可协议