美文网首页
利用 Bash 脚本编写自动抓取学校图书馆借阅信息的爬虫 Par

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

作者: 阪本先生 | 来源:发表于2017-12-05 14:59 被阅读0次

    接上一篇 《利用 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里的一些符号分割字段。

    相关文章

      网友评论

          本文标题:利用 Bash 脚本编写自动抓取学校图书馆借阅信息的爬虫 Par

          本文链接:https://www.haomeiwen.com/subject/axrcixtx.html