gpt4 book ai didi

java - 扩展基本网络爬虫以过滤状态代码和 HTML

转载 作者:行者123 更新时间:2023-12-01 15:17:03 25 4
gpt4 key购买 nike

我遵循了有关用 Java 编写基本网络爬虫的教程,并获得了具有基本功能的东西。

目前它只是从站点检索 HTML 并将其打印到控制台。我希望扩展它,以便它可以过滤掉 HTML 页面标题和 HTTP 状态代码等细节?

我找到了这个库: http://htmlparser.sourceforge.net/...我认为这可能可以为我完成这项工作,但是我可以在不使用外部库的情况下完成这项工作吗?

这是我到目前为止所拥有的:

public static void main(String[] args) {

// String representing the URL
String input = "";

// Check if argument added at command line
if (args.length >= 1) {
input = args[0];
}

// If no argument at command line use default
else {
input = "http://www.my_site.com/";
System.out.println("\nNo argument entered so default of " + input
+ " used: \n");
}
// input test URL and read from file input stream
try {

testURL = new URL(input);
BufferedReader reader = new BufferedReader(new InputStreamReader(
testURL.openStream()));

// String variable to hold the returned content
String line = "";

// print content to console until no new lines of content
while ((line = reader.readLine()) != null) {
System.out.println(line);
}
} catch (Exception e) {

e.printStackTrace();
System.out.println("Exception thrown");
}
}

最佳答案

肯定有用于 HTTP 通信的工具。但是,如果您更喜欢自己实现一个 - 请查看 java.net.HttpURLConnection。它将使您能够更精细地控制 HTTP 通信。这是给您的一个小示例:

public static void main(String[] args) throws IOException
{
URL url = new URL("http://www.google.com");
HttpURLConnection connection = (HttpURLConnection) url.openConnection();

connection.setRequestMethod("GET");

String resp = getResponseBody(connection);

System.out.println("RESPONSE CODE: " + connection.getResponseCode());
System.out.println(resp);
}

private static String getResponseBody(HttpURLConnection connection)
throws IOException
{
try
{
BufferedReader reader = new BufferedReader(new InputStreamReader(
connection.getInputStream()));

StringBuilder responseBody = new StringBuilder();
String line = "";

while ((line = reader.readLine()) != null)
{
responseBody.append(line + "\n");
}

reader.close();
return responseBody.toString();
}
catch (IOException e)
{
e.printStackTrace();
return "";
}
}

关于java - 扩展基本网络爬虫以过滤状态代码和 HTML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11477341/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com