使用bash提取不带标记的网页源
我们可以使用使用bash提取不带标记的网页源,bash,curl,tags,extract,wget,Bash,Curl,Tags,Extract,Wget,我们可以使用wget或curl 但是我想提取不带标记的页面源代码,我的意思是像文本一样提取它创建一个使用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 如果您对Javascript或
wget
或curl
但是我想提取不带标记的页面源代码,我的意思是像文本一样提取它创建一个使用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
如果您对Javascript或Python更熟悉,那么使用Javascript或Python可能很简单,或者搜索html到文本的实用程序。我想纯粹在bash中实现这一点是非常困难的
另请参见:使用Curl、Wget和apachetika服务器(本地),您可以直接从命令行将HTML解析为简单文本 首先,您必须从Apache站点下载tika服务器jar: 然后,将其作为本地服务器运行:
$ 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可以返回多种格式,而不仅仅是纯文本。您可以通过管道发送到一个简单的sed命令:
curl www.gnu.org | sed 's/<\/*[^>]*>//g'
curl www.gnu.org | sed's/]*>///g'
可能重复我说过的“使用Bash”不是rubygood luck,只使用Bash:)–请参阅我的编辑和另一篇文章的链接