Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Citanje sa web stranice VB

[es] :: Visual Basic 6 :: Citanje sa web stranice VB

[ Pregleda: 2206 | Odgovora: 9 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

ProGRaMeR_U_raZVojU
Nikola Radojevic

Član broj: 95186
Poruke: 7
*.eunet.yu.



Profil

icon Citanje sa web stranice VB06.12.2007. u 13:18 - pre 198 meseci
Ja se izvinjavam, mozda je ova tema vec negde postavljena, stvarno nemam trenutno vremena da pregledam ceo sajt, ipak, ogroman je ES :)

Hteo sam da pitam vas iskusne VB programere kako mogu npr da ucitam neki podatak sa neke web stranice tipa da mi prikaze u textbox-u rezultat jedne utakmice itd...

Hvala unapred...
 
Odgovor na temu

goranvuc
Goran Vucicevic
Novi Sad

Član broj: 4934
Poruke: 1846
*.dialup.neobee.net.



+41 Profil

icon Re: Citanje sa web stranice VB06.12.2007. u 15:15 - pre 198 meseci
Evo ti nesto slicno:

http://www.elitesecurity.org/t...icture-box-sa-lokacije-na-netu
 
Odgovor na temu

Eurora3D Team
Nebojsa - Programer & Vodja tima
Beograd

Član broj: 120376
Poruke: 900
91.148.114.*



+7 Profil

icon Re: Citanje sa web stranice VB06.12.2007. u 19:36 - pre 198 meseci
Evo imas kod ispod.
Stavi na VB formu MultiLine text box Text1 i kopiraj kod u kod sekciju (stavi i scroll barove za Text1).
Kod radi u Activate eventu forme (kad forma postaje vidljiva).
Code:

Const INTERNET_OPEN_TYPE_PRECONFIG = 0
Const INTERNET_FLAG_RELOAD = &H80000000

Private Declare Function InternetOpen Lib "wininet.dll" Alias "InternetOpenA" (ByVal sAgent As String, ByVal lAccessType As Long, ByVal sProxyName As String, ByVal sProxyBypass As String, ByVal lFlags As Long) As Long
Private Declare Function InternetOpenUrl Lib "wininet.dll" Alias "InternetOpenUrlA" (ByVal pub_lngInternetSession As Long, ByVal lpszUrl As String, ByVal lpszHeaders As String, ByVal dwHeadersLength As Long, ByVal dwFlags As Long, ByVal dwContext As Long) As Long
Private Declare Sub InternetSetStatusCallback Lib "wininet.dll" (ByVal pub_lngInternetSession As Long, ByVal lpfnInternetCallback As Long)
Private Declare Function InternetConnect Lib "wininet.dll" Alias "InternetConnectA" (ByVal pub_lngInternetSession As Long, ByVal sServerName As String, ByVal nServerPort As Integer, ByVal sUsername As String, ByVal sPassword As String, ByVal lService As Long, ByVal lFlags As Long, ByVal lContext As Long) As Long
Private Declare Function HttpOpenRequest Lib "wininet.dll" Alias "HttpOpenRequestA" (ByVal hHttpSession As Long, ByVal sVerb As String, ByVal sObjectName As String, ByVal sVersion As String, ByVal sReferer As String, ByVal something As Long, ByVal lFlags As Long, ByVal lContext As Long) As Long
Private Declare Function HttpSendRequest Lib "wininet.dll" Alias "HttpSendRequestA" (ByVal hHttpRequest As Long, ByVal sHeaders As String, ByVal lHeadersLength As Long, sOptional As Any, ByVal lOptionalLength As Long) As Integer
Private Declare Function HttpQueryInfo Lib "wininet.dll" Alias "HttpQueryInfoA" (ByVal hHttpRequest As Long, ByVal lInfoLevel As Long, ByRef sBuffer As Any, ByRef lBufferLength As Long, ByRef lIndex As Long) As Integer
Private Declare Function InternetReadFile Lib "wininet.dll" (ByVal hFile As Long, ByVal sBuffer As String, ByVal lNumBytesToRead As Long, lNumberOfBytesRead As Long) As Integer
Private Declare Function InternetWriteFile Lib "wininet.dll" (ByVal hFile As Long, ByVal sBuffer As String, ByVal lNumBytesToWrite As Long, dwNumberOfBytesWritten As Long) As Integer
Private Declare Function InternetCloseHandle Lib "wininet.dll" (ByVal hInet As Long) As Integer

Private Sub Form_Activate()
On Error GoTo Err
Dim hInternetSession       As Long
Dim hUrlFile               As Long
Dim sReadBuffer            As String * 4096     '  4k
Dim sBuffer                As String
Dim lNumberOfBytesRead     As Long
Dim bDoLoop                As Boolean
hInternetSession = InternetOpen("GetPage", INTERNET_OPEN_TYPE_PRECONFIG, vbNullString, vbNullString, 0)
If hInternetSession = 0 Then GoTo Err
hUrlFile = InternetOpenUrl(hInternetSession, "http://eurora3d.com/eurora3d.html", vbNullString, 0, INTERNET_FLAG_RELOAD, 0)
If hUrlFile = 0 Then GoTo Err
bDoLoop = True
While bDoLoop
   sReadBuffer = ""
      bDoLoop = InternetReadFile(hUrlFile, sReadBuffer, _
                  Len(sReadBuffer), lNumberOfBytesRead)
      sBuffer = sBuffer & Left$(sReadBuffer, lNumberOfBytesRead)
If Not CBool(lNumberOfBytesRead) Then bDoLoop = False
Wend
InternetCloseHandle (hUrlFile)
InternetCloseHandle (hInternetSession)
Dim st As Long, en As Long
Text1.Text = sBuffer ' Ovde
st = InStr(1, sBuffer, "<TITLE>", vbTextCompare)
If st = 0 Then GoTo Err
st = st + 7
en = InStr(st, sBuffer, "</TITLE>", vbTextCompare)
If en = 0 Then GoTo Err
Me.Caption = Mid(sBuffer, st, en - st) 'Ovde
Exit Sub
Err:
Debug.Print Err.Description
End Sub

 
Odgovor na temu

Aleksandar Ružičić
Software Architect, Appricot d.o.o.
Beograd

Član broj: 26939
Poruke: 2881

Jabber: krckoorascic@gmail.com
Sajt: krcko.net


+44 Profil

icon Re: Citanje sa web stranice VB06.12.2007. u 20:20 - pre 198 meseci
na ovom linku sto ti je dao Marko i u ovom kodu sto je dao Eurora3D Team mozes da vidis kako da preuzmes neku web stranu, a od te strane zavisi na koji nacin ces da skidas podatke koji te interesuju. raspitaj se malo vise, mozda taj sajt sa kog hoces da preuzmes podatke ima neki servis preko kog mozes da preuzmes podatke u nekom formatu laksem za obradu (nego html) kao sto je xml...
 
Odgovor na temu

Eurora3D Team
Nebojsa - Programer & Vodja tima
Beograd

Član broj: 120376
Poruke: 900
195.252.105.*



+7 Profil

icon Re: Citanje sa web stranice VB07.12.2007. u 01:30 - pre 198 meseci
@
Evo i ovog Goranovog primera sa ovim kodom gore.
Prikačeni fajlovi
 
Odgovor na temu

ProGRaMeR_U_raZVojU
Nikola Radojevic

Član broj: 95186
Poruke: 7
*.eunet.yu.



Profil

icon Re: Citanje sa web stranice VB07.12.2007. u 01:59 - pre 198 meseci
Eurora3D to je to, hvala ti puno. hvala i ostalima sto su mi izasli u susret nego.. moze li mi neko reci koja je fora da nesto iz tog textbox-a u koji dobijam ove informacije da odatle nesto prekopiram u drugi txt box gde ce mi se prikazivati samo npr Partizan - Obilic itd...?

nadam se da sam lepo objasnio al evo oped da pojednostavim:

Na primer, dobijem ono tipa:
Code:

        <TD bgColor=#4b6892 colSpan=2><IMG height=1 
                        src="files/spacer.gif"></TD></TR>
                    <TR>
                      <TD bgColor=#4b6892><IMG 
                        src="files/spacer.gif" 
                        width=1></TD>
                      <TD width="100%" height="100%"></TD></TR></TBODY></TABLE></TD>
                <TD style="PADDING-TOP: 0px">&nbsp;<font color="#3F89C3"><span style="font-size: 14px"><b>Google</b></span></font>&nbsp;</TD>
                <TD style="PADDING-TOP: 8px" width="100%">
                  <TABLE height=8 cellSpacing=0 cellPadding=0 width="100%">
                    <TBODY>
                    <TR>
                      <TD bgColor=#4b6892 colSpan=4><IMG height=1 
                        src="files/spacer.gif"></TD></TR>
                    <TR>


i da taj drugi text box meni prepise iz ovog koda samo npr GOOGLE
?

Jel ste me skapirali?

[Ovu poruku je menjao Aleksandar Ružičić dana 07.12.2007. u 04:40 GMT+1]
 
Odgovor na temu

Aleksandar Ružičić
Software Architect, Appricot d.o.o.
Beograd

Član broj: 26939
Poruke: 2881

Jabber: krckoorascic@gmail.com
Sajt: krcko.net


+44 Profil

icon Re: Citanje sa web stranice VB07.12.2007. u 04:28 - pre 198 meseci
:) pa zato sam ti rekao da vidis da li taj sajt nudi neki xml servis, jer je ovako "cupanje" podataka iz html-a dosta zeznut posao, a i sta ako odluce da promene izgled strane? onda ces morati da pises novi parser... znaci raspitaj se da li postoji neki takav servis (a postoji sigurno, mozda ne bas na tom sajtu, a mozda taj sajt i koristi neki takav servis) ako ne... onda moras da parsiras ovaj html sto si dobio :)

parsiranje je najlakse sa regularnim izrazima (regular expressions) koji zbog toga i postoje. e sad, vb6 nema ugradjenu podrsku za regexp (za razliku od vb.net-a) ali VBScript ima! A bez problema mozes da koristis VBScript u vb-u :)
tj, samo dodas referencu na "Microsoft VBScript Regular Expressions 5.5" (moras da imash instaliran internet explorer 5.5 ili noviji, takodje komp na kom ce se izvrsavati tvoj program mora imati IE >= 5.5) i koristis objekte koje ti biblioteka nudi...

evo primer (sa regularnim izrazom koji ti cupa 'Google' iz tvog primera):
Code:

    Dim re As RegExp
    Dim reMatches As MatchCollection
    Dim reMatch As Match

    Set re = New RegExp
    
    re.IgnoreCase = True
    re.Global = True
    re.Pattern = "<TD[^>]*>[^<]*<font[^>]*><span[^>]*><b>([^<]+)</b></span></font>[^<]*</TD>"
    
    Set reMatches = re.Execute(Text1.Text)
    
    For Each reMatch In reMatches
        MsgBox reMatch.SubMatches(0)
    Next


evo okacio sam i projekat uz poruku...


p.s. koristi code tagove kada postujes neki kod (bilo vb, html ili nesto trece)

[Ovu poruku je menjao Aleksandar Ružičić dana 07.12.2007. u 05:54 GMT+1]
Prikačeni fajlovi
 
Odgovor na temu

ProGRaMeR_U_raZVojU
Nikola Radojevic

Član broj: 95186
Poruke: 7
*.eunet.yu.



Profil

icon Re: Citanje sa web stranice VB07.12.2007. u 04:44 - pre 198 meseci
TOOOO!!! ovako nesto mi treba.. :) e sad.. mnogo sam zahtevan al jbg sta cu :) mozes li mi reci kOd koji ce update-ovati ovaj textbox na svakih npr 5 min ?
 
Odgovor na temu

Aleksandar Ružičić
Software Architect, Appricot d.o.o.
Beograd

Član broj: 26939
Poruke: 2881

Jabber: krckoorascic@gmail.com
Sajt: krcko.net


+44 Profil

icon Re: Citanje sa web stranice VB07.12.2007. u 04:50 - pre 198 meseci
pa mozes da stavis Timer koji ce ti na 5 minuta pozivati funkciju koja ce da ti skine sadrzaj sa neta, parsira ga i prikaze rezultat.

pogledaj ovu temu: http://www.elitesecurity.org/p1779617
 
Odgovor na temu

ProGRaMeR_U_raZVojU
Nikola Radojevic

Član broj: 95186
Poruke: 7
*.eunet.yu.



Profil

icon Re: Citanje sa web stranice VB07.12.2007. u 09:01 - pre 198 meseci
hvala puno :)
 
Odgovor na temu

[es] :: Visual Basic 6 :: Citanje sa web stranice VB

[ Pregleda: 2206 | Odgovora: 9 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.