bash命令将html页面转换为文本文件

时间:2012-09-14 10:02:43

标签: bash

我是linux的初学者。你能帮我解决一下如何将html页面转换为文本文件的问题。文本文件将从网页中删除任何图像和链接。我想只使用bash命令,而不是html文本转换工具。例如,我想将第一页谷歌搜索结果转换为“计算机”。

谢谢

10 个答案:

答案 0 :(得分:28)

最简单的方法是使用这样的转储(简称是可查看的html的文本版本)

远程文件

lynx --dump www.google.com > file.txt
links -dump www.google.com

本地档案

lynx --dump ./1.html > file.txt
links -dump ./1.htm

答案 1 :(得分:21)

您在命令行上有html2text

用法:html2text.py [(filename|url) [encoding]]

Options:
  --version             show program's version number and exit
  -h, --help            show this help message and exit
  --ignore-links        don't include any formatting for links
  --ignore-images       don't include any formatting for images
  -g, --google-doc      convert an html-exported Google Document
  -d, --dash-unordered-list
                        use a dash rather than a star for unordered list items
  -b BODY_WIDTH, --body-width=BODY_WIDTH
                        number of characters per output line, 0 for no wrap
  -i LIST_INDENT, --google-list-indent=LIST_INDENT
                        number of pixels Google indents nested lists
  -s, --hide-strikethrough
                        hide strike-through text. only relevent when -g is
                        specified as well

答案 2 :(得分:11)

在OSX上,您可以使用名为textutil的命令行工具将html文件批量转换为txt格式:

textutil -convert txt *.html

答案 3 :(得分:6)

您可以获得nodejs并全局安装模块html-to-text

npm install -g html-to-text

然后像这样使用它:

html-to-text < stuff.html > stuff.txt

答案 4 :(得分:5)

在ubuntu / debian html2text中的

是一个很好的选择。 http://linux.die.net/man/1/html2text

答案 5 :(得分:4)

使用sed

sed -e 's/<[^>]*>//g' foo.html

答案 6 :(得分:3)

我认为链接是最常用的工具。检查man链接并搜索纯文本或类似文本。 -dump是我的猜测,也在寻找它。该软件附带大多数发行版。

答案 7 :(得分:2)

我使用python-boilerpipe并且效果非常好,到目前为止......

答案 8 :(得分:1)

本地htm&amp;的批处理模式html文件,lynx必需

#!/bin/sh
# h2t, convert all htm and html files of a directory to text 

for file in `ls *.htm`
do
new=`basename $file htm`
lynx -dump $file > ${new}txt 
done
#####
for file in `ls *.html`
do
new=`basename $file html`
lynx -dump $file > ${new}txt 
done

答案 9 :(得分:0)

Bash脚本可将html页面递归转换为文本文件。 应用于httpd-manual。 使grep -Rhi'LoadModule ssl'/ usr / share / httpd / manual_dump -A 10可以方便地工作。

#!/bin/sh
# Adapted from ewwink, recursive html to txt dump
# Made to kind of recursively (4 levels) dump the /usr/share/httpd manual to a dump httpd manual directory into a txt dump including dir
# put this script in /usr/share/httpd for it to work (after installing httpd-manual rpm)

for file in ./manual/*{,/*,/*/*,/*/*/*}.html
do
new=`basename $file .html`
mkdir -p ./manual_dump/${new}
lynx --dump $file > ./manual_dump/${new}.txt
done