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

The*_*der 28 bash

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

谢谢

Vin*_*yon 33

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

远程文件

lynx --dump www.google.com > file.txt
links -dump www.google.com
Run Code Online (Sandbox Code Playgroud)

本地文件

lynx --dump ./1.html > file.txt
links -dump ./1.htm
Run Code Online (Sandbox Code Playgroud)


小智 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
Run Code Online (Sandbox Code Playgroud)

  • 为了澄清起见,这个答案是在 2014 年编辑的,链接到 https://github.com/aaronsw/html2text python 项目,它指向一个与我认为原作者意图不同的程序 (`html2text.py`) (Ubuntu/ Debian [html2text](http://manpages.ubuntu.com/manpages/bionic/man1/html2text.1.html),一个 C++ 程序)。不管怎样,改变已经太晚了,但我想我应该指出这一点,因为我很困惑。 (2认同)

小智 12

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

textutil -convert txt *.html
Run Code Online (Sandbox Code Playgroud)


dia*_*lic 7

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

npm install -g html-to-text
Run Code Online (Sandbox Code Playgroud)

然后像这样使用它:

html-to-text < stuff.html > stuff.txt
Run Code Online (Sandbox Code Playgroud)


Fre*_*ihl 6

使用 sed

sed -e 's/<[^>]*>//g' foo.html
Run Code Online (Sandbox Code Playgroud)

  • 谢谢。这真的很有帮助。但是,当 &lt;....&gt; 模式不止一行时,这不起作用。 (2认同)

小智 6

在ubuntu/debian中,html2text是一个很好的选择.http://linux.die.net/man/1/html2text

  • 请注意,这是一个与“html2text.py”的其他答案不同的程序 /sf/ask/869560261/ #12422876 (2认同)

Cla*_*ley 3

我使用了python-boilerpipe,到目前为止它运行得很好......