19/12/2020, 14:44
https://www.haremaltin.com/canli-piyasal...-fiyatlari
Yukarıdaki linke göre yapmıştım.
Eğer selenium kurulumu vs... yapamazsanız bağlanıp ayarlayayım karışık biraz.
Eğer selenium kurulumu vs... yapamazsanız bağlanıp ayarlayayım karışık biraz.
yerine alttaki gibi olursa galiba biraz daha hızlı olabilir.
Yukarıdaki linke göre yapmıştım.
Option Compare Database
Private Sub Getir_Click()
Dim Getir As New Selenium.WebDriver
Dim satir, sutun As Integer
Dim rc As DAO.Recordset
Dim arr()
Set rc = CurrentDb.OpenRecordset("Tbl_Altin")
Getir.AddArgument "--headless"
Getir.Start "chrome"
Getir.Get "https://www.haremaltin.com/canli-piyasalar/altin-fiyatlari"
satir = 2
For Each td In Getir.FindElementByTag("tbody").FindElementsByTag("tr")
sutun = 1
For Each t In td.FindElementsByTag("td")
ReDim Preserve arr(1 To 3, 1 To satir - 1)
If sutun = 4 Then Exit For 'Yüzde icin
On Error GoTo var
If t.Text = "USD/KG" Or t.Text = "EUR/KG" Then GoTo var
If sutun > 1 Then
ReDim Preserve arr(1 To 3, 1 To satir - 1)
arr(sutun, satir - 1) = t.Text + 0
Else
arr(sutun, satir - 1) = t.Text
End If
sutun = sutun + 1
Next t
satir = satir + 1
var:
On Error GoTo 0
Next td
On Error GoTo hata_2
CurrentDb.Execute ("delete from Tbl_Altin")
For x = 1 To UBound(arr, 2)
rc.AddNew
rc(0) = arr(1, x)
rc(1) = arr(2, x)
rc(2) = arr(3, x)
rc.Update
Next x
GoTo var2
hata_2:
MsgBox "Veri bulunamadi yada baska hata var...", vbCritical, "Hata"
var2:
Set rc = Nothing
Me.Alt0.Requery
Erase arr
MsgBox "Islem Tamam"
End Sub
Eğer selenium kurulumu vs... yapamazsanız bağlanıp ayarlayayım karışık biraz.
Eğer selenium kurulumu vs... yapamazsanız bağlanıp ayarlayayım karışık biraz.
Kod:
For Each td In Getir.FindElementByTag("tbody").FindElementsByTag("tr")
Kod:
For Each td In Getir.FindElementByXPath("//*[@id='view']/section[2]/div/div/div/div[1]/div[2]/div[2]/table/tbody").FindElementsByTag("tr")