Java 使用TIKA提取url的内容(文本)
如何从url中提取文本?在我的代码中,它正在提取该url的源代码Java 使用TIKA提取url的内容(文本),java,apache-tika,Java,Apache Tika,如何从url中提取文本?在我的代码中,它正在提取该url的源代码 DefaultHttpClient client = null; client = new DefaultHttpClient(); client.getCredentialsProvider().setCredentials( new AuthScope(AuthScope.ANY_HOST, AuthScope.ANY_PORT, AuthScope.ANY_REALM),
DefaultHttpClient client = null;
client = new DefaultHttpClient();
client.getCredentialsProvider().setCredentials(
new AuthScope(AuthScope.ANY_HOST, AuthScope.ANY_PORT, AuthScope.ANY_REALM),
new UsernamePasswordCredentials("test", "test"));
client.getParams().setParameter(ClientPNames.ALLOW_CIRCULAR_REDIRECTS, true);
HttpGet request = new HttpGet("http://somehost.com");
HttpResponse response = client.execute(request);
HttpEntity entity = response.getEntity();
InputStream content = entity.getContent();
Tika t = new Tika();
Metadata md = new Metadata();
Reader r = t.parse(content, md);
System.out.println(md);
System.out.println("Yes1: " +md.get("keywords"));
System.out.println("Yes2: " +md.get("title"));
System.out.println("Yes3: " +md.get("authors"));
//This gives the source code of that url not the actual content...
String ss= t.parseToString(content);
System.out.println("Yes4: " +ss);
有什么建议吗 允许您提取正文内容而无需标记。随附的命令行实用程序显示了如何在程序中使用它,以及如何测试各种格式。如我所读。。您可以使用此代码对tika执行此操作
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());
尽管我测试了它,但我发现handler.toString()是空的 老兄,那个班是蒂卡的一部分!基于我的代码,任何示例都将不胜感激。。如果你能给我一些很好的例子的链接……正如我在回复中所说,Tika附带了命令行实用程序的源代码,该实用程序可以做你想做的事情,所以我建议你去那里看看它是如何工作的,甚至可以借用几行代码。