1

我需要从基于 html 的网站中提取一些文本。我有大约 3000 个 URL,需要从它们的 html 中提取一行文本。我需要的数据如下所示:

 <html xmlns:og="http://opengraphprotocol.org/schema/">
<head>
<title>Pink Floyd Live Audio Feeds</title>// the line i need
...

我怎样才能自动化这个过程?我擅长 Java,因此首选使用该语言的方法。谢谢!

4

3 回答 3

4

您可以使用jsoup,它是一个很好的 Java 库,用于处理真实世界的 HTML。

于 2013-03-16T14:02:57.820 回答
3

您可以逐行阅读 html 文本,当您发现</title>停止阅读页面的其余部分时。这是如何完成的(我假设<title>并且与</title>您在评论中指出的 HTML 代码在同一行)

public static String getTitle(String address) throws IOException {
    URL url = new URL(address);
    BufferedReader reader = null;
    try {
        reader = new BufferedReader(new InputStreamReader(url.openStream()));

        String line = null;
        while ((line = reader.readLine()) != null) {
            int start = line.indexOf("<title>");
            int end = line.indexOf("</title>");

            if (start != -1) {
                return line.substring(start + "<title>".length(), end);
            }
        }

        return "";
    } finally {
        if (reader != null)
            reader.close();
    }
}
于 2013-03-16T15:10:30.717 回答
0

遍历您的 URL 列表并用于HttpURLConnection下载页面。在所有页面处理数据以提取您需要的信息之后。这是 HttpURLConnection java 文档页面

于 2013-03-16T14:03:34.597 回答