7

Tika で URL からテキストを抽出することは可能ですか? リンクは大歓迎です。それとも、TIKA は pdf、word、およびその他のメディア ドキュメントに対してのみ使用できますか?

4

4 に答える 4

7

ドキュメントを確認してください- はい、できます。

java -jar tika-app-0.9.jar -t http://stackoverflow.com/questions/6656849/extract-the-text-from-url-using-tika

このページのテキストを表示します。

于 2011-07-11T21:40:16.373 に答える
6

これは明快からです:

InputStream input = new FileInputStream(new File(resourceLocation));
ContentHandler textHandler = new BodyContentHandler();
Metadata metadata = new Metadata();
PDFParser parser = new PDFParser();
parser.parse(input, textHandler, metadata);
input.close();
out.println("Title: " + metadata.get("title"));
out.println("Author: " + metadata.get("Author"));
out.println("content: " + textHandler.toString());

を作成する代わりに、PDFParserTika を使用AutoDetectParserして差分タイプのファイルを自動的に処理できます。

Parser parser = new AutoDetectParser();
于 2011-08-23T19:54:56.810 に答える
3

はい、できます。これがコードです。このコードはapachehttpクライアントを使用します

HttpGet httpget = new HttpGet("http://url.here"); 
    HttpEntity entity = null;
    HttpClient client = new DefaultHttpClient();
    HttpResponse response = client.execute(httpget);
    entity = response.getEntity();
    if (entity != null) {
        InputStream instream = entity.getContent();
        BodyContentHandler handler = new BodyContentHandler();
        Metadata metadata = new Metadata();
        Parser parser = new AutoDetectParser();
        parser.parse( instream, handler, metadata, new ParseContext());
        String plainText = handler.toString();
        FileWriter writer = new FileWriter( "/scratch/cache/output.txt");
        writer.write( plainText );
        writer.close();
        System.out.println( "done");
    }
于 2012-03-25T20:40:47.877 に答える
1

ローカル ファイルではなく URL からコンテンツを抽出するには、次のコードを使用します。

    byte[] raw = content.getContent();
    ContentHandler handler = new BodyContentHandler();
    Metadata metadata = new Metadata();
    Parser parser = new AutoDetectParser();
    parser.parse(new ByteArrayInputStream(raw), handler, metadata, new ParseContext());
    LOG.info("content: " + handler.toString());
于 2012-02-14T06:52:53.697 に答える