Webden Veri Çekme

1 2
13/08/2020, 21:13

ozanakkaya

Sorunuzda, Alış(TL) hücresinin içindeki verinin" gelmesini istiyorum şeklinde ibare olduğu için Alış(TL) tagındaki veriyi alması için kod ekledim. Satışı bu kod ile alamazsınız.

Kodu aşağıdaki ile değiştirerek deneyin.

Private Sub Komut0_Click()


Const myURL As String = "http://bigpara.hurriyet.com.tr/kobi/dunya-emtia-borsalari/sxaggr-gumus-gram/"

Dim inputBox
Dim appIE As Object
Set appIE = CreateObject("internetexplorer.application")

With appIE
.Navigate myURL
.Visible = False
End With

Do While appIE.Busy: DoEvents: Loop


Set inputBox = appIE.Document.querySelector(".kurDetail")

Me.mtn_alis = MetinVeriBul(inputBox.innertext, "ALIŞ(TL) ", "SATIŞ(TL)")
Me.mtn_satis = MetinVeriBul(inputBox.innertext, "SATIŞ(TL) ", "ÖNCEKİ KAPANIŞ")

appIE.Quit
Set appIE = Nothing

End Sub

Function MetinVeriBul(GMetinTumu As String, GIlkKelime As String, GIkinciKelime As String) As String
Dim lngIlkKelime As Long
Dim lngIkinciKelime As Long

lngIlkKelime = InStr(1, GMetinTumu, GIlkKelime, vbTextCompare)

If lngIlkKelime > 0 Then

lngIlkKelime = lngIlkKelime + Len(GIlkKelime)
lngIkinciKelime = _
InStr(lngIlkKelime, GMetinTumu, GIkinciKelime, vbTextCompare)

If lngIkinciKelime > 0 Then
MetinVeriBul = Mid$(GMetinTumu, lngIlkKelime, (lngIkinciKelime - lngIlkKelime) - 5)
Else
MetinVeriBul = vbNullString
End If

Else

MetinVeriBul = vbNullString
End If


End Function

Forma mtn_alis ve mtn_satis isimlerinde metin kutusu ekleyin.
13/08/2020, 21:39

notrino

Anlıyorum. İlk yaptığınız çözüm gibi her hücreden aynı mantıkta veri alabileceğimi düşündüğüm için yanıldım . Ok, teşekkürler..
14/08/2020, 17:57

notrino

Tekrar merhaba,

Dün bu kodlar problemsizce çalışıyordu. Ancak bugün nedense kod sayfasındaki
Kod:
Set inputBox = appIE.Document.querySelector(".kurDetail")
satırı hata veriyor sürekli. Veri gelmiyor. Dünle bugün arasında ne değişmiş olabilir? Tuhaf değil mi?
16/08/2020, 19:47

ozanakkaya

Merhaba, verdiğim kodu uyguladığımda herhangi bir hata ile karşılaşmadım.
1 2