Web Sayfası Kodlarından Veri Çekmek

Katılım
17 Ocak 2006
Mesajlar
2
Merhaba,
Macro ve VB konusunda yeniyim ve webden bir ürünün stok verisini çekmeye çalışıyorum. Kod yazmaya çalıştım ama bir yerde tıkandım yardımcı olabilecek kişilere teşekkürler.

Sub Web_Veri_Cekmek()

Dim request As Object
Dim response As String
Dim html As New HTMLDocument
Dim website As String
Dim tutar As Variant

website = "https://www.bauhaus.com.tr/isitma-ve-sogutma-fanli-isiticilar/voltotherm-voltotherm-2000w-elektrikli-fanli-isitici-60809317"

Set request = CreateObject("MSXML2.XMLHTTP")

request.Open "Get", website, False

request.setRequestHeader "if-Modified-since", "Sat, 1 Jan 2000 00:00:00 GMT"

request.send

response = StrConv(request.responseBody, vbUnicode)

html.body.innerHTML = response

stok1 = html.getElementsByClassName("inventory_qty_number").Item(0).innerText

MsgBox ("Stok ") & stok1

End Sub
 

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,406
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Bunu kullanın;


Fiyat:
C#:
stok1 = html.getElementsByClassName("price")(1).innerText

Stok durumu:
Kod:
stok1 = html.getElementsByClassName("proAttr")(0).innerText

.
 
Son düzenleme:
Katılım
17 Ocak 2006
Mesajlar
2
Teşekkür ederim Haluk Bey,
istediğim aslında stok sayısını yazdırması. Bahsettiğim veri almak istediğim sayfada sepete ekle kısmının altında hangi mağazada butonu mevcut buna bastığınız zaman Ankara etlik şubesinde 147 adet var görünüyor mesela ben bu rakamı yazdırmak istiyorum. Ama maalesef bilgim yetersiz kalıyor.
elementsten class name "" inventory_qty_number "" olarak görünen veri.
 

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,406
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
O butona basınca tetiklenen javascript'i çalıştırmak gerekiyor... bu nedenle "MSXML2.XMLHTTP " nesnesi ile sözkonusu veriyi alamazsınız. IE nesnesini kullanarak önce sayfaya navigate edip, scripti çalıştırdıktan sonra HTML response'dan ayıklayarak elde edilebilir herhalde..... deneyip, uğraşmak lazım.

.
 
Üst