webForumDet fria alternativet

hämta information från en webbsida

2 svar · 710 visningar · startad av ecke

eckeMedlem sedan juni 200723 inlägg
#1

hej!
jag skulle vilja hämta information från en webbsida, t.ex http://www.yahoo.com/

min kod ser ut såhär, är jag en bit på väg eller är jag helt ute och cyklar om jag vill kunna få fram information i system rutan(System.out.println(information) )

import java.net.*;
import java.io.*;
 
public class ProxyTest {
 
public static void main(String[] args) throws Exception {
 
SocketAddress addr = new
InetSocketAddress("webcache.mydomain.com", 8080);
Proxy proxy = new Proxy(Proxy.Type.HTTP, addr);
 
URL url = new URL("http://java.sun.com/index.html");
 
 
 
 
 
}
}
TomasJMedlem sedan feb. 200563 inlägg
#2

ecke skrev:

hej!
jag skulle vilja hämta information från en webbsida, t.ex http://www.yahoo.com/

min kod ser ut såhär, är jag en bit på väg eller är jag helt ute och cyklar om jag vill kunna få fram information i system rutan(System.out.println(information) )

import java.net.*;
import java.io.*;
 
public class ProxyTest {
 
public static void main(String[] args) throws Exception {
 
SocketAddress addr = new
InetSocketAddress("webcache.mydomain.com", 8080);
Proxy proxy = new Proxy(Proxy.Type.HTTP, addr);
 
URL url = new URL("http://java.sun.com/index.html");
 
}
}

Jag vet i.o.f.s. inte vad du egentligen är ute efter, och kanske du bara tycker det är roligt att lära dig lågnivå-programmering (sockets), men om du är ute efter att lösa uppgiften på enklaste sättet så föreslår jag att du i stället återanvänder en befintlig tredjepartkomponent, t.ex. HttpUnit.
(klicka på länken "Cookbook" från hemsidan så får du se exempel som visar hur enkelt det då blir att hämta en sida...)

/ Tomas

swedeMedlem sedan feb. 2004230 inlägg
#3

Håller själv på med att hämta data från Yahoo, här kommer min kod:

String YahooURL = "http://finance.yahoo.com..."

URL YahooFinancials = new URL(YahooURL);
InputStream is = YahooFinancials.openStream();
BufferedReader br = new BufferedReader(new InputStreamReader(is));

String input;
while ((input = br.readLine()) != null) {
    System.out.println(input);
}

Går säkert att snygga till koden ytterligare, men det här är ganska rätt på att parsa en websida.

259 ms totalt · 3 externa anrop · v20260731065814-full.30151723
129 ms — hämta forumlista (db)
127 ms — hämta statistik (db)
126 ms — hämta tråd, inlägg och bilagor (db)