Vb Web Kaynak Kodu Çekmek
-
Merhaba arkadaşlar öncelikle sorum şu ki
Vb ile bir sitenin kaynak kodunu çekip işlemek istiyorum nasıl işlemek derseniz şöyle mesela facebooka girdiniz ve mesajların olduğu div tagının idsi var atıyorum messages yani şöyle <div id="messages"> mesajlarınız </div> böyle bir şey şimdi ben bunu vb ile forma çekip div içinde kalanları formda bir label de göstermek istiyorum kafa patlatan arkadaşlara şimdiden teşekkürler
-
kimse yazmamış ben yazayım :)
şimdi vb.net için yazıyorum eğer vb 6.0 ise belirtirsin
ilk olarak kaynak koduna ihtiyacın var bunu bi kaç şekilde yapabilirsin. httpwebrequest, webrequest, webbrowser gibi. bunlarla kaynak kodlarını alabilirsin. hız istiyorsan httpwebrequest ile kaynak kodlarını alabilirsin.
kaynak kodların aldıktan sonra bunları serileştirmen lazım. eğer xml formatında ise o zaman xml parser kullanabilrisin, eğer veriler json formatında ise populer olan json.net i kullanabilirsin.
eğer kullanmak istemiyorsan da iki seçeneğin daha var.
1- string fonksiyonları (indexof, substring gibi)
2- regex
bunlarla istediğin verileri ayıklayabilirsin.
amacın facebook uygulamaları yapmak ise bu kadar takla atmana gerek yok. facebook api mevcut onu kullanabilirsin
kolay gelsin
-
konuya baktım da vb 6.0 için sormuşsun sanırım.
bunun için de inet, winsock ve webbrowser kullanabilirsin. aynı şekilde kaynak kodunu alıp xml parser kullanacaksın ya da string fonksiyonları.
-
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
WebBrowser1.Document.GetElementsByTagName("div")
End Sub
Bunun gibi bir yapı ile çekemezmiyim ?
-
buradan collection dönecektir. yani atıyorum 100 tane div dönecek. bunlar için belirli ayıklamalar yapman gerek ve dediğin gibi bu söylediğini
gözden kaçırdım. DOM ile html nesnelerine erişebiliyorsun gerek name özelliğinden gerekse id lerinden.
yapcağın iş dönen collection u bir döngü ile kriterini sorgulamaktır.
tamamen kafadan atıyorum
for i = 0 to collection.count-1
htmlelemen eleman = collection(i)
if eleman.name = "xxx" then
..... ' şunu yap
exit for
end if
next i
bu tarz bir şey kullanman lazım
-
bak hocam burada bi makale var
c# ı vb.net e çeviremezsen yardımcı olayım
-
html agility pack adlı class html parse işlemlerinde oldukça başarılı.
-
Inet componenti ile sayfayı açar ve kodlarını textboxa dökersin. Sonra string işlemiyle bulursun. Sana bahsettiğim şeyi en son 7 sene önce yapmıştım.
-
VB 6 da Inet ile önceden yapmıştım. Ama eğer arkadaş Facebook'a girip veri çekecekse login olması için POST ile giriş yapması da gerekiyor.
-
Ya amacım sadece facebook değil herhangi bir sosyal site veya forumlarda da kullanılabilecek bir mesaj kutusu yazmaya çalışıyorum kendimce visual basicte şöyle bir şey olabilir yani "webBrowser1.Document.GetElementById("username").InnerText = txtKullaniciAdi.Text.Trim();" bu kodu ters mantıkla çalıştırmak istiyorum ama nasıl yapabilirim ?
-
tamam hocam vb.net de sana basit bir uygulama yapayım. mesela ip adresini siteden çeken bir uygulama ? ya da istediğin başka bi örnek varsa onu yapayım