5.3 以格式化纯文本形式下载网页
网页其实就是包含HTML标记和其他诸如Javascript、CSS等元素的HTML页面。HTML标记是网页的基础。我们也许需要解析网页来查找特定的内容,这时Bash就能派上用场了。当我们下载网页的时候,实际接收到的就是一个HTML文件。这种格式化的数据需要用浏览器查看。但在大多数情况下,解析一个格式化文本文件要比解析HTML数据来得容易。因此如果我们能够得到一个格式类似于浏览器页面那样的文本文件,就能省下不少为剥离HTML标签而花费的功夫。Lynx是一个有意思的基于命令行的Web浏览器。我们实际上可以将Lynx的纯文本格式化输出作为网页来获取。来看看这一切该如何实现。
实战演练
用lynx
命令的 -dump
选项将网页以ASCII字符的形式下载到文本文件中:
- $ lynx -dump URL > webpage_as_text.txt
这个命令会将所有的超链接()作为文本输出的页脚列在References标题之下。这就省得我们再用正则表达式单独解析链接。
例如:
- $ lynx -dump http://google.com > plain_text_page.txt
你可以用cat
命令查看纯文本版的网页:
- $ cat plain_text_page.txt