Google Sheets Import Veri Çekme

yasin85

Altın Üye
Katılım
29 Haziran 2011
Mesajlar
260
Excel Vers. ve Dili
2019, Türkçe
Altın Üyelik Bitiş Tarihi
25-08-2026
Merhaba Değerli Arkadaşlar,

Google Sheets kullanarak linklerde bulunan numaraları "B" sutununa yazmak istiyorum.

Normalde IMPORT fonksiyonunu kullanarak veri çekiyorum fakat belki siteden dolayı farklı bir fonksiyon işlem yapılması gerekiyor olabilir.

İşlemin çözümü için bir çare bulamadım bu konuda yardımcı olurmusunuz.

İlgili dosyayı paylaşıma açtım.

Google Sheets GİT
 

Haluk

𐱅𐰇𐰼𐰚
Katılım
7 Temmuz 2004
Mesajlar
12,311
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Sözkonusu site muhtemelen, bot'larla veri alınmasını önlemek üzere "GET" metodu ile gönderilen isteklere karşı güvenlik önlemi almış.

IMPORTXML veya script ile veri çekilemiyor...... en azından ben beceremedim.

.
 

yasin85

Altın Üye
Katılım
29 Haziran 2011
Mesajlar
260
Excel Vers. ve Dili
2019, Türkçe
Altın Üyelik Bitiş Tarihi
25-08-2026
@Haluk Bey Merhaba,

Öncelikle zaman ayırdığınız için çok teşekkür ederim.

estağfurullah sizin bilgi , ve yeteneklerinizi az çok biliyoruz çalışmalardan forumdan güvenlik önlemlerini almışlardır dediğiniz gibi "Google Sheets" isteklerini engellemişlerdir.


Saygılar..
 

yasin85

Altın Üye
Katılım
29 Haziran 2011
Mesajlar
260
Excel Vers. ve Dili
2019, Türkçe
Altın Üyelik Bitiş Tarihi
25-08-2026
.

Google Sheets haricinde bu linklerdeki ilgili alanı ala bileceğimiz bir çalışma excel makro yada alternatif bir çözüm ile mümkün ola bilir mi?
 

Haluk

𐱅𐰇𐰼𐰚
Katılım
7 Temmuz 2004
Mesajlar
12,311
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
VBA ile denedim olmadı, belki Selenium ile olabilir .... bende kurulu olmadığı için deneme şansım yok.

.
 

MusaPEKEL

Altın Üye
Katılım
29 Ağustos 2016
Mesajlar
65
Excel Vers. ve Dili
2013
Altın Üyelik Bitiş Tarihi
16-01-2027
Merhaba Değerli Arkadaşlar,

Google Sheets kullanarak linklerde bulunan numaraları "B" sutununa yazmak istiyorum.

Normalde IMPORT fonksiyonunu kullanarak veri çekiyorum fakat belki siteden dolayı farklı bir fonksiyon işlem yapılması gerekiyor olabilir.

İşlemin çözümü için bir çare bulamadım bu konuda yardımcı olurmusunuz.

İlgili dosyayı paylaşıma açtım.

Google Sheets GİT

Belli Bir Yere Kadar geldim Ama sanki api kullanılması gerektiğini varsayıyorum belki buradan ilerletilebilir.
JavaScript:
function webSayfasindanVeriCek() {

  var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
 
 
  var sheet = spreadsheet.getSheetByName("Sayfa1"); // Sayfa adını kendi dosyanıza göre ayarlayın

 
  var urlRange = sheet.getRange("A2:A" + sheet.getLastRow());
  var urlValues = urlRange.getValues();

  for (var i = 0; i < urlValues.length; i++) {
    var webSayfasiURL = urlValues[i][0];
    
    try {
     
      var options = {
        muteHttpExceptions: true,
        headers: {
          headers: {
            "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3"
}

        }
      };
      var webSayfasi = UrlFetchApp.fetch(webSayfasiURL, options).getContentText();

     
      var telefonNumarasiDeseni = /<span[^>]+data-content="([^"]+)"[^>]*><\/span>/;

    
      var telefonNumarasiEslesme = webSayfasi.match(telefonNumarasiDeseni);

      
      var telefonNumarasi = telefonNumarasiEslesme ? telefonNumarasiEslesme[1] : "Telefon numarası bulunamadı.";

   
      sheet.getRange(i + 2, 2).setValue(telefonNumarasi);
    } catch (e) {
      Logger.log("Hata: " + e.toString());
      Logger.log(webSayfasi)
      sheet.getRange(i + 2, 2).setValue("Hata");
    }
    
  }
}
 

yasin85

Altın Üye
Katılım
29 Haziran 2011
Mesajlar
260
Excel Vers. ve Dili
2019, Türkçe
Altın Üyelik Bitiş Tarihi
25-08-2026
@MusaPEKEL Bey Merhaba,

Öncelikle zaman ayırdığınız ve ilgilendiğiniz için teşekkür ederim.

Kodu çalıştıdığımda " Telefon numarası bulunamadı. " olarak ekrana çıkıyor.
Ek olarak bir işlem yapılması gereklimidir.
Yoksa ilgili sistemin güvenliğinden dolayı bu veriyi alamıyoruz.
 

MusaPEKEL

Altın Üye
Katılım
29 Ağustos 2016
Mesajlar
65
Excel Vers. ve Dili
2013
Altın Üyelik Bitiş Tarihi
16-01-2027
JavaScript:
function webSayfasindanVeriCek() {

  var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();


  var sheet = spreadsheet.getSheetByName("Sayfa1"); // Sayfa adını kendi dosyanıza göre ayarlayın


  var urlRange = sheet.getRange("A2:A" + sheet.getLastRow());
  var urlValues = urlRange.getValues();

  for (var i = 0; i < urlValues.length; i++) {
    var webSayfasiURL = urlValues[i][0];
   
    try {
    
      var options = {
        muteHttpExceptions: true,
        headers: {
          headers: {
            "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3"
}

        }
      };
      var webSayfasi = UrlFetchApp.fetch(webSayfasiURL, options).getContentText();

    
      var telefonNumarasiDeseni = /<span[^>]+data-content="([^"]+)"[^>]*><\/span>/;

   
      var telefonNumarasiEslesme = webSayfasi.match(telefonNumarasiDeseni);

     
      var telefonNumarasi = telefonNumarasiEslesme ? telefonNumarasiEslesme[1] : "Telefon numarası bulunamadı.";

  
      sheet.getRange(i + 2, 2).setValue(telefonNumarasi);
    } catch (e) {
      Logger.log("Hata: " + e.toString());
      Logger.log(webSayfasi)
      sheet.getRange(i + 2, 2).setValue("Hata");
    }
   
  }
}
Belli Bir Yere Kadar geldim Ama sanki api kullanılması gerektiğini varsayıyorum belki buradan ilerletilebilir. bu şekilde yazmışım ama alıntı kısmına geçmiş
 
Üst