Avatar billede hooh Nybegynder
27. august 2001 - 15:07 Der er 24 kommentarer og
1 løsning

Grab HTML-side ude på nettet

Hej

Hvordan kan man grabbe en URL fra sin side, som ASPTEAR i asp(hvis nogen kender det).. Der indtaster man bare et url, så \"kopierer\" den hele indholdet at det url i en variabel.

fx. grabbe alt indhold fra http://www.news.dk til min.

Er der en der kan hjælpe mig i JAVA...måske ved hjælp af servlets....

somebody help pleeeeaaasseeee

/HooH
Avatar billede disky Nybegynder
27. august 2001 - 15:10 #1
du åbner en stream til siden, og indlæser alt fra denne stream ind i en stringbuffer som du så laver en .toString() på.

Så har du hele siden i en String.
Avatar billede hooh Nybegynder
27. august 2001 - 15:12 #2
øøh...jeg er lidt af en nybegynder...

kunne du give et eksempel..please...

hvis du kunne lave et lille java-program der virker, er jeg villig til at forhøje pointene.

Avatar billede disky Nybegynder
27. august 2001 - 15:13 #3
prøv med denne metode

kald den med:

String page=loadWebPage(\"http://www.news.dk\");



    private String loadWebPage(String url)
    {
        try
        {
            URL url=new URL(url); //URL to the webpage
           
            HttpURLConnection httpURL=(HttpURLConnection)url.openConnection();

            InputStream in=httpURL.getInputStream(); //get input stream from URL
           
            byte webData[]=new byte[8192]; //allocate enough space for the complete page.
           
            StringBuffer page=new StringBuffer();
            int data=0;

            while(data!=-1)
            {
                data=in.read();
                if(data!=-1)
                {
                    page.append((char)data);
                }
            }

            in.close();
            return page.toString();
        }
        catch (MalformedURLException e)
        {
            e.printStackTrace(System.out);
            return \"\";
        }
        catch (IOException e)
        {
            e.printStackTrace(System.out);
            return \"\";
        }
        return \"\";
    }
Avatar billede victorgladium Nybegynder
27. august 2001 - 15:13 #4
du åbner en stream til siden, og indlæser alt fra denne stream ind i en stringbuffer som du så laver en .toString() på.

Så har du hele siden i string.
MHT Alexander
Avatar billede victorgladium Nybegynder
27. august 2001 - 15:15 #5
Hvis du er nybegynder er det nok bedst at kontakte en der har forstand på det, som fx Silicon Valley i Vejle, det ligger på Dæmningen.

MHT Alexander
Avatar billede hooh Nybegynder
27. august 2001 - 15:16 #6
jeg skal lige prøve
Avatar billede disky Nybegynder
27. august 2001 - 15:16 #7
Alexander:

Jeg har ikke noget imod folk laver fis, men du SKAL SGU ikke bare kopiere mit svar, en joke til at admin får en mail om dig !!!
Avatar billede victorgladium Nybegynder
27. august 2001 - 15:21 #8
hvem er Admin?
Avatar billede hooh Nybegynder
27. august 2001 - 15:22 #9
øøhh..det er lidt flovt..

Men jeg kan altså ikke helt få det igang..
som jeg sagde jeg er meget elendig til det...jeg er mere til ASP, men fik lige denne opgave i java.

Disky ! Hvilke klasser skal man importere for at det virker ? (jeg er HELT blank)

Kan jeg ikke få din mail adresse?
Avatar billede disky Nybegynder
27. august 2001 - 15:23 #10
hooh, jeg smækker det lige i et komplet eksempel
Avatar billede hooh Nybegynder
27. august 2001 - 15:23 #11
Tak
Avatar billede disky Nybegynder
27. august 2001 - 15:26 #12
Dette eksempel virker, og henter indholdet af min side som er http://www.disky.dk

Det er forresten ikke flovt at spørge, vi har alle været begyndere en gang.


har du problemmer bare mail til disky@hotmail.com eller ICQ #1413069



import java.net.*;
import java.io.*;

public class WebGrabber extends java.lang.Object
{
    public WebGrabber()
    {
        String page=loadWebPage(\"http://www.disky.dk\");  //hent siden
        System.out.println(page);  //udskriv siden
    }
   
    private String loadWebPage(String pageurl)
    {
        try
        {
            URL url=new URL(pageurl); //URL to the webpage
           
            HttpURLConnection httpURL=(HttpURLConnection)url.openConnection();
           
            InputStream in=httpURL.getInputStream(); //get input stream from URL
           
            byte webData[]=new byte[8192]; //allocate enough space for the complete page.
           
            StringBuffer page=new StringBuffer();
            int data=0;
           
            while(data!=-1)
            {
                data=in.read();
                if(data!=-1)
                {
                    page.append((char)data);
                }
            }
           
            in.close();
            return page.toString();
        }
        catch (MalformedURLException e)
        {
            e.printStackTrace(System.out);
            return \"\";
        }
        catch (IOException e)
        {
            e.printStackTrace(System.out);
            return \"\";
        }
    }
    /**
    * @param args the command line arguments
    */
    public static void main (String args[])
    {
        new WebGrabber();
    }
}
Avatar billede hooh Nybegynder
27. august 2001 - 15:57 #13
Hej Disky

Tak for programmet...

men jeg har stadig nogle fejl..

jeg får af fejl..

(Error 39 ) class MalformedURLExeption not found in Class Webgrabber
(Error 18 ) class HTTPURLExeption not found in Class Webgrabber
(Error 18 ) class HTTPURLExeption not found in Class Webgrabber
(Error 44 ) Catch is unreachable.

/HooH
Avatar billede disky Nybegynder
27. august 2001 - 16:00 #14
hvilken version af java bruger du ?
Avatar billede hooh Nybegynder
27. august 2001 - 16:02 #15
Jbuilder 3
Avatar billede disky Nybegynder
27. august 2001 - 16:05 #16
det er ikke java, det er en java IDE :)))

Jeg har selv testet programmet ved brug af jdk1.3.1 og det fungere som det skal.

prøv at hent jdk1.3.1 fra www.javasoft.com og prøv igen med kompiling i command prompt.

javac WebGrabber.java
java WebGrabber

så skulle det virke.
Avatar billede hooh Nybegynder
27. august 2001 - 16:22 #17
øøh endnu et dumt spørgsmål...hvad er forskellen imellem Java og Java IDE?

Jeg skal nok bruge det i forbindelse med en servlet, da det skal være på en hjemmeside.

Vil det så sige at jeg ikke kan bruge koden der?


/HooH

Ps. Du kan måske godt høre at jeg er total blank på java-området :)
Avatar billede disky Nybegynder
27. august 2001 - 16:26 #18
Java er selve sproget lavet af SUN, og en IDE er et integrete udviklingsmiljø i dit tilfælde Jbuilder.

Jo du kan sagtens bruge det i en Beans, gør jeg faktisk selv,

Jeg smutter hjem for idag, men skriv til den email jeg lige har sendt til dig.
Avatar billede sjoller Nybegynder
28. august 2001 - 09:21 #19
Hvorfor klarer i det hele gennem mail, så kan alle os andre jo ikke få noget ud af det... :-)
Avatar billede disky Nybegynder
28. august 2001 - 09:22 #20
det gør vi heller ikke.

Forresten virker den løsning jeg har postet, problemmet er nu fejlopsætning/installation på hans maskine.
Avatar billede hooh Nybegynder
28. august 2001 - 10:53 #21
disky : jeg har ikke fået det til at køre på min maskine...men det kørte på min makkers maskine...så du får pointene...
Avatar billede disky Nybegynder
28. august 2001 - 10:55 #22
mange tak.

Avatar billede hooh Nybegynder
20. september 2001 - 10:14 #23
øhh disky...er du der stadig?

Nu sad jeg lige og prøvede igen efter lang tid på min egen maskine....kan det være fordi jeg sidder bag en proxy-server??

Da der kommer en java.net.ConnectException : Connection refused
Avatar billede disky Nybegynder
20. september 2001 - 10:16 #24
yep jeg er her endnu.

Det var egentligt et godt spørgsmål.

Jeg kan desværre ikke verificere at det er proxy\'ens skyld da jeg ikke selv sidder bag en.

Men det er bestemt ikke usandsynligt.

Måske kan logical svare på det, hvis han læser med.
Avatar billede hooh Nybegynder
20. september 2001 - 10:19 #25
hehe

logical : læser du med??




Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester