我需要从基于html的网站中提取一些文本。我有大约3000个URL,需要从他们的html中提取单行文本。我需要的数据如下:
<html xmlns:og="http://opengraphprotocol.org/schema/">
<head>
<title>Pink Floyd Live Audio Feeds</title>// the line i need
...
如何自动完成此过程?我擅长Java,因此首选使用该语言的方法。谢谢!
答案 0 :(得分:4)
您可以使用jsoup这是一个很好的Java库来处理真实的HTML。
答案 1 :(得分: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();
}
}
答案 2 :(得分:0)
浏览您的网址列表并使用HttpURLConnection
下载该网页。在让所有页面处理数据以提取所需信息之后。 Here's the HttpURLConnection java doc page