利用 Bash 脚本编写自动抓取学校图书馆借阅信息的爬虫 Part2

接上一篇 《利用 Bash 脚本编写自动抓取学校图书馆借阅信息的爬虫 Part1

抓下来的数据是一大堆的 HTML 标签夹杂着无用的玩意,那么就需要把有用的过滤出来。在 Bash 环境下就是需要利用一些命令来过滤掉没用的字符。

我这里用到三个命令来过滤

sed #   sed是非交互式的编辑器,它读取文件到自己的缓冲区然后再作修改。
    #   默认情况下,所有的输出行都被打印到屏幕上。[1]

awk #   awk是一个强大的文本分析工具,它把文件逐行的读入,以空格为默认分隔
    #   符将每行切片,切开的部分再进行各种分析处理。[2]

tr  #   可以将 tr 看作为 sed的(极其)简化的变体:它可以用一个字符来替换
    #   另一个字符,或者可以完全除去一些字符。您也可以用它来除去重复字符。
    #   这就是所有 tr所能够做的。 [3]

sed 命令在我的脚本里用得最多,通过输入一组符合 sed 格式的命令来达到过滤文本内容。sed 使用 命令/匹配/选项 的格式来作为一条命令,这里只涉及到我用到的命令。

#在所有“<td”前面换行
#准确点来说是把所有的“<td”换成“\n<td”,以此达到换行的目的
cat file | sed 's/<td/\n<td/g'

#删掉第 1-107 行
cat file | sed '1,107d'
cat file | sed '480,$d'

awk 命令我只用来格式化输出一些数据。例如可以不替换直接用html里的一些符号分割字段。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • linux资料总章2.1 1.0写的不好抱歉 但是2.0已经改了很多 但是错误还是无法避免 以后资料会慢慢更新 大...
    数据革命阅读 14,294评论 2 33
  • 本文承接之前写的三十分钟学会AWK一文,在学习完AWK之后,趁热打铁又学习了一下SED,不得不说这两个工具真的堪称...
    mylxsw阅读 9,864评论 3 74
  • sed与awk实例 文本间隔 在每一行后面增加一空行 将原来的所有空行删除并在每一行后面增加一空行。这样在输出的文...
    stuha阅读 5,915评论 0 20
  • 1.创建文件夹 !/bin/sh mkdir -m 777 "%%1" 2.创建文件 !/bin/sh touch...
    BigJeffWang阅读 13,474评论 3 53
  • 自从弄了个 lcd4linux 之后总想着弄点什么自动化的东西显示出来,因为最近从图书馆借了点书,于是首先想到的是...
    阪本先生阅读 3,523评论 0 0

友情链接更多精彩内容