我需要从基于 html 的网站中提取一些文本。我有大约 3000 个 URL,需要从它们的 html 中提取一行文本。我需要的数据如下所示:
<html xmlns:og="http://opengraphprotocol.org/schema/">
<head>
<title>Pink Floyd Live Audio Feeds</title>// the line i need
...
我怎样才能自动化这个过程?我擅长 Java,因此首选使用该语言的方法。谢谢!
我需要从基于 html 的网站中提取一些文本。我有大约 3000 个 URL,需要从它们的 html 中提取一行文本。我需要的数据如下所示:
<html xmlns:og="http://opengraphprotocol.org/schema/">
<head>
<title>Pink Floyd Live Audio Feeds</title>// the line i need
...
我怎样才能自动化这个过程?我擅长 Java,因此首选使用该语言的方法。谢谢!
您可以使用jsoup,它是一个很好的 Java 库,用于处理真实世界的 HTML。
您可以逐行阅读 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();
}
}
遍历您的 URL 列表并用于HttpURLConnection
下载页面。在所有页面处理数据以提取您需要的信息之后。这是 HttpURLConnection java 文档页面