Java:
Hämta en webbsida
Hur gör man?:
import java.io.*;
import java.net.*;
public class WebPageDownloader {
public static void main(String[] args) throws IOException {
URL url = new URL("http://example.com");
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
try (BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream()))) {
String inputLine;
StringBuilder content = new StringBuilder();
while ((inputLine = reader.readLine()) != null) {
content.append(inputLine).append("\n");
}
System.out.println(content.toString());
} finally {
connection.disconnect();
}
}
}
Sample output: HTML-innehållet i http://example.com, utskrivet i konsolen.
Fördjupning:
För 20-ish år sedan använde Java-klasser som URLConnection
. Nuförtiden finns det modernare bibliotek som Apache’s HttpClient eller OkHttp som förenklar webbskrapning och API-användning. Dessa bibliotek erbjuder fördelar som inbyggd stöd för HTTPS, cookieshantering och automatisk omdirigering. När du implementerar en webbsida nedladdare, tänk på respons- och anropshanteringen, felhantering och potentiella säkerhetsrisker.
Se även:
- Apache HttpComponents
- OkHttp
- JSoup för HTML-parsing
- HTMLUnit för att simulera en webbläsare i Java