我们可以使用wget
或curl
下载页面来源
但我想提取没有标签的页面源,我的意思是像文本一样提取它
答案 0 :(得分:2)
您可以使用简单的sed命令:
curl www.gnu.org | sed 's/<\/*[^>]*>//g'
答案 1 :(得分:1)
使用Curl,Wget和Apache Tika Server(本地),您可以直接从命令行将HTML解析为简单文本。
首先,您必须从Apache站点下载tika-server jar: https://tika.apache.org/download.html
然后,将其作为本地服务器运行:
$ java -jar tika-server-1.12.jar
之后,您可以使用以下URL开始解析文本:
现在,要将网页的HTML解析为简单文本:
$ wget -O test.html YOUR-HTML-URL && curl -H "Accept: text/plain" -T test.html http://localhost:9998/tika
这应该返回没有标签的网页文本。
这样您就可以使用wget下载并将所需的网页保存到“test.html”,然后使用curl向tika服务器发送请求以提取文本。请注意,有必要发送标题“Accept:text / plain”,因为tika可以返回多种格式,而不仅仅是纯文本。
答案 2 :(得分:0)
创建一个使用Nokogiri解析HTML的Ruby脚本:
require 'nokogiri'
require 'open-uri'
html = Nokogiri::HTML(open 'https://stackoverflow.com/questions/6129357')
text = html.at('body').inner_text
puts text
如果您对此更熟悉,或者搜索html-to-text实用程序,那么使用Javascript或Python可能会很简单。我想在纯粹的bash中这样做是非常困难的。