java - 使用 URL 动态获取标题和描述

标签 java url

我需要动态获取 URL 的标题和描述。我需要使用什么才能做到这一点?

以以下 URL 为例:http://en.wikipedia.org/wiki/Stack_overflow

我需要提取 URL 的图 block 及其描述。您更喜欢如下所示的 jsoup 提取吗?

url.select("title");

如果是,如何提取url的描述?

最佳答案

我认为你需要一个像 Jericho 这样的 HTML 解析器。

看一下这个例子: http://jericho.htmlparser.net/samples/console/src/ExtractText.java

特别是这两种方法:

private static String getTitle(Source source) {
    Element titleElement=source.getFirstElement(HTMLElementName.TITLE);
    if (titleElement==null) return null;
    // TITLE element never contains other tags so just decode it collapsing whitespace:
    return CharacterReference.decodeCollapseWhiteSpace(titleElement.getContent());
}

private static String getMetaValue(Source source, String key) {
    for (int pos=0; pos<source.length();) {
        StartTag startTag=source.getNextStartTag(pos,"name",key,false);
        if (startTag==null) return null;
        if (startTag.getName()==HTMLElementName.META)
            return startTag.getAttributeValue("content"); // Attribute values are automatically decoded
        pos=startTag.getEnd();
    }
    return null;
}

关于java - 使用 URL 动态获取标题和描述,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9957099/

相关文章:

java - 在进行广度优先搜索时,访问节点的时间重要吗?

python - 如何在 url 字符串中传递列表中的值

url - Grails/Groovy:URL参数(最大值,偏移量)空白/字符串时引发NumberFormatException

javascript - Backbone 路由匹配不起作用

java - 如何重置/清除 NatTable 中的多列排序?

java - 在我的示例中如何停止线程

java - 如何在 Java JAR 内部包含一个 SQL 语句文件?

java - 找不到类 'EndpointsAsyncTask$1' ,从方法 EndpointsAsyncTask.xxx 引用 - 匿名函数

java - 使用java从包含100个图像url的文本文件中提取图像

c# - 获取 url 的主要部分,包括虚拟目录