2016-03-03 21 views
0

我們可以使用wgetcurl 下載網頁的源代碼,但我想提取的頁面沒有標記的源代碼,我是指提取它像文本提取網頁的源代碼,而不使用bash

+1

[bash命令隱蔽html頁面到一個文本文件(可能的重複http://stackoverflow.com/questions/12422289/bash-command -to-covert-html-page-to-a-text-file) – Leventix

回答

1

可以通過管道將一個簡單的sed命令:

curl www.gnu.org | sed 's/<\/*[^>]*>//g' 
0

創建使用引入nokogiri Ruby腳本解析HTML:

require 'nokogiri' 
require 'open-uri' 
html = Nokogiri::HTML(open 'https://stackoverflow.com/questions/6129357') 

text = html.at('body').inner_text 
puts text 

Source

它很可能是簡單的JavaScript或Python做,如果你更舒服或者搜索一個html-to-text工具。我想這純粹是在bash中完成這件事非常困難。

參見:bash command to covert html page to a text file

+0

我說'使用Bash'不是紅寶石 –

+0

只用bash :)祝你好運 - 查看我的編輯和其他帖子的鏈接 – Leventix

1

使用curl,wget和阿帕奇提卡服務器(本地),你可以在命令行直接解析HTML成簡單的文本。

首先,你必須從Apache網站下載的蒂卡服務器的jar: https://tika.apache.org/download.html

然後,運行它作爲一個本地服務器:

$ java -jar tika-server-1.12.jar 

之後,你就可以開始解析文本使用以下網址:

http://localhost:9998/tika

現在,解析網頁INT的HTML o簡單文本:

$ 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可以返回多種格式,而不僅僅是純文本格式。

+0

檢查Tika-服務器維基獲取更多信息: http://wiki.apache.org/tika/TikaJAXRS –