• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

[ÇÖZÜLDÜ] İnternetten Veri Alma

Katılım
29 Kasım 2010
Mesajlar
85
Excel Vers. ve Dili
MS Excel Professional Plus 2010
Merhabalar herkese :)

Ekte ilettiğim dosya için internetten veri alma konusunda yardım rica edebilir miyim?

Çok teşekkürler :)
 

Ekli dosyalar

Merhaba,
Deneyiniz...
PHP:
Sub Kod()
Set IE = CreateObject("InternetExplorer.Application")
IE.Navigate Range("I7")

Do While Not IE.readyState = 4: DoEvents: Loop
Do While IE.busy: DoEvents: Loop

s = Cells(Rows.Count, "H").End(3).Row + 1
Cells(s, "G") = Date
Cells(s, "H") = IE.Document.GetElementbyId("j-sku-price").all(0).innertext
IE.Quit
End Sub
 
Merhaba,
Deneyiniz...
PHP:
Sub Kod()
Set IE = CreateObject("InternetExplorer.Application")
IE.Navigate Range("I7")

Do While Not IE.readyState = 4: DoEvents: Loop
Do While IE.busy: DoEvents: Loop

s = Cells(Rows.Count, "H").End(3).Row + 1
Cells(s, "G") = Date
Cells(s, "H") = IE.Document.GetElementbyId("j-sku-price").all(0).innertext
IE.Quit
End Sub

Teşekkür ederim çalıştı :)

Bir çalışma yapıyorum mümkünse birkaç soru daha soracağım bu konunun devamı olarak.

Size ilettiğim linkte hem düşük hem de yüksek fiyat vardı ve sistem otomatik olarak düşük fiyatı alıyor. Eğer tek ve sabit bir fiyat varsa ne yapılacak? Mesela bu linkteki fiyatı almak istesem?
https://tr.aliexpress.com/item/20-d...88888&trgt=296904914040&device=c&gclsrc=aw.ds
 
İlgili satırı (alttan üçüncü) aşağıdaki şekilde değiştirirseniz her iki ihtimal için de çalışacaktır.
Cells(s, "H") = Split(IE.Document.GetElementbyId("j-sku-price").innertext, " - ")(0)
 
İlgili satırı (alttan üçüncü) aşağıdaki şekilde değiştirirseniz her iki ihtimal için de çalışacaktır.
Cells(s, "H") = Split(IE.Document.GetElementbyId("j-sku-price").innertext, " - ")(0)

Bu da çalıştı, çok teşekkürler.Ekte dosyamın son halini iletiyorum.
Önceki kodlarla aynı anda K6'daki N11.com web sitesinin linki olacak ve buradaki fiyatlar da H sütununa gelebilir mi aynı anda?
 
Dosyayı eklemeyi unutmuşsunuz sanırım.
 
Dosyayı eklemeyi unutmuşsunuz sanırım.

Merhabalar, dosyayı ekliyorum.
Biraz daha detaylandırdım.

Altta yeşil renge boyadığım sekmeler göreceksiniz. Her bir sekme Printer'da kullanılan bir komponenti gösteriyor. Amacım bu komponentlerin yerli ve ithal tedarik fiyatlarını kıyas yapabilmek.

İthaller sürekli Aliexpress'ten alınacak şekilde kurgulandı. (Sizin daha evvel hazırladığınız kod burada sorunsuz çalışıyor.)

Yerli malzemelerde ise kaynak siteler değişebiliyor. Kimi zaman N11.com, kimi zaman da gittigidiyor.com veya bazı muhtelif robotic malzemeler satan internet siteleri.

Bu noktada aslında sizin bana ileteceğiniz universal bir kod olsa ve bana bunu herhangi bir web sitesine göre nasıl uyarlayabileceğimi gösterseniz sanırım ben altından kalkmaya çalışabilirim.

Size ilettiğim dosyada yeşil renkte 4 tane sekme göreceksiniz. Fakat bu sekmelerin sayısı yaklaşık 30 olacak. Ve zamanla artabilecek.

İlettiğim 4 sekme için kodlarını iletseniz mesela siz bana. Ayrıca balık tutmayı da gösterirseniz bu konuda çok memnun olurum. Çok teşekkürler şimdiden.

Saygılarımla,
Serhat
 

Ekli dosyalar

Bu noktada aslında sizin bana ileteceğiniz universal bir kod olsa ve bana bunu herhangi bir web sitesine göre nasıl uyarlayabileceğimi gösterseniz sanırım ben altından kalkmaya çalışabilirim.
Maalesef böyle bir universal kod yok. Her web sitesinin kod yapısı farklı olduğundan veri alma kodu da farklı olacaktır. Hatta aynı web sitesinin yapısı değiştiği zaman daha önce doğru şekilde çalışan kodlar çalışmaz olacaktır.
Web sayfası üzerinde sağ tıklayıp öğeyi incele/denetle derseniz web sayfasının kodlarını görebilirsiniz.
Aşağıdaki kodlarla örnek dosyanızda yer alan linklerdeki fiyatları alabilirsiniz. Benden bu kadar, daha fazla yardımcı olamayacağım.
Size iyi çalışmalar diliyorum...
PHP:
N11                 IE.Document.GetElementById("productRealPrice").Value
rhino.3dprinter     IE.Document.GetElementsByClassName("indirimli_fiyat")(0).innertext
teknoartshop        IE.Document.GetElementById("ProductBox").GetElementsByTagName("div")(15).innertext
robolinkmarket      IE.Document.GetElementsByClassName("product-price")(0).innertext
 
Maalesef böyle bir universal kod yok. Her web sitesinin kod yapısı farklı olduğundan veri alma kodu da farklı olacaktır. Hatta aynı web sitesinin yapısı değiştiği zaman daha önce doğru şekilde çalışan kodlar çalışmaz olacaktır.
Web sayfası üzerinde sağ tıklayıp öğeyi incele/denetle derseniz web sayfasının kodlarını görebilirsiniz.
Aşağıdaki kodlarla örnek dosyanızda yer alan linklerdeki fiyatları alabilirsiniz. Benden bu kadar, daha fazla yardımcı olamayacağım.
Size iyi çalışmalar diliyorum...
PHP:
N11                 IE.Document.GetElementById("productRealPrice").Value
rhino.3dprinter     IE.Document.GetElementsByClassName("indirimli_fiyat")(0).innertext
teknoartshop        IE.Document.GetElementById("ProductBox").GetElementsByTagName("div")(15).innertext
robolinkmarket      IE.Document.GetElementsByClassName("product-price")(0).innertext

Açıkçası şu son verdiğiniz 4 kod satırı dahil çok işime yaradı ve ben halettim sayılır bu çalışmayı sayenizde. Size ne kadar teşekkür etsem az.

Sizden son ricam (eğer mümkünse) Gittigidiyor.com için nasıl bir kod eklemem gerekiyor bana yazabilir misiniz?

Link aşağıda:
https://urun.gittigidiyor.com/bilgi...4lOVeWfHnMMTc328TXBoCwMIQAvD_BwE&gclsrc=aw.ds
 
Açıkçası şu son verdiğiniz 4 kod satırı dahil çok işime yaradı ve ben halettim sayılır bu çalışmayı sayenizde. Size ne kadar teşekkür etsem az.

Sizden son ricam (eğer mümkünse) Gittigidiyor.com için nasıl bir kod eklemem gerekiyor bana yazabilir misiniz?

Link aşağıda:
https://urun.gittigidiyor.com/bilgi...4lOVeWfHnMMTc328TXBoCwMIQAvD_BwE&gclsrc=aw.ds

Vazgeçtim :) Bunu da ben hallettim sizin dediğiniz gibi HTML ClassName'den çekerek. :) İlham verdiğiniz ve destekleriniz için çok teşekkürler. Selamlar.
 
Rica ederim,
Yardımcı olabildiysem ne mutlu...
İyi çalışmalar...
 
Geri
Üst