Amazon kısa süre önce API'lerini değiştirdi ve artık bu API'ları kullanarak programlı olarak Amazon'da WishList'ime erişmenin bir yolu olmadığını görüyoruz. Ekranda kazıma işleminin yanında kimse bunu yapmayı biliyor mu? Belki bazı üçüncü taraf hizmeti (sadece kamuya açık verilerle çalışmayı umursamıyorum)?Amazon Wishlist'e programatik erişim?
cevap
ekran kazıma için, kompakt düzen stili yararlı olabilir: http://bililite.com/blog/2010/10/31/hacking-my-way-to-an-amazon-wishlist-widget/
Güncelleme
google e-tablolarında bazı kendi hack yaptım ve çalışma 2 temel uygulamaları başardı.
kullanma Google Apps Komut: A1 hücresine
Tipi İstek kimliği. Bir google kopyalayıp aşağıdaki yapıştırın komut (Araçlar> Scripts> Komut Editör) uygulamaları ve getWishlist işlevini çalıştırın:
function getWishlist(){
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheets()[0];
var wishlistId = sheet.getRange('a1').getValue();
var response = UrlFetchApp.fetch("http://www.amazon.co.uk/registry/wishlist/" + wishlistId + "?layout=compact").getContentText();
var asinRegex = /name="item.([\d]+)\.(?:[A-Z0-9]+).([A-Z0-9]+).*/g
while (match = asinRegex.exec(response)) {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheets()[0];
var rowIndex = Number(match[1])+2;
var asin = match[2];
setRow(sheet, rowIndex, asin);
var offers = UrlFetchApp.fetch("http://www.amazon.co.uk/gp/offer-listing/" + asin).getContentText();
setRow(sheet, rowIndex, asin,
getFirstMatch(/class="producttitle">(.+)</g, offers),
getFirstMatch(/class="price">(.+)</g, offers));
}
Browser.msgBox("Finished");
}
function getFirstMatch(regex, text) {
var match = regex.exec(text);
return (match == null) ? "Unknown" : match[1];
}
function setRow(sheet, index, a, b, c) {
sheet.getRange('a' + index).setValue(a);
sheet.getRange('b' + index).setValue(b);
sheet.getRange('c' + index).setValue(c);
}
NB, ben başlığa uyan regex ile bazı probs yaşıyorum/fiyat. Neden olduğundan emin değil, ama temel fikri gösterir.
kullanma Google E-Tablo Fonksiyonlar
A1 hücresine içine dilek kimliğini yazın.
Aşağıdaki işlevi A2'ye yazın.
=importXML("http://www.amazon.co.uk/registry/wishlist/"&A1&"?layout=compact", "//*[starts-with(@name, 'item.')]/@name")
Tip kimliği dizesinden asin çıkartacaktır B2 aşağıdaki fonksiyonu:
=right(A2, 10)
Bu istek listenizde her öğe için id dizeleriyle hücreyi ve onun altındaki tüm dolduracaktır
Tipi başlığı B2 içinde ASIN için listeleme teklifini getir ve görüntüler B3 aşağıdaki fonksiyonu: alıp bunu
=importXML("http://www.amazon.co.uk/gp/offer-listing/"&B2, "//h1")
Tip B4 içine şu fonksiyonu, teklif B2 içinde ASIN için listeleme ve tüm fiyatlar görüntüler:
=concatenate(importXML("http://www.amazon.co.uk/gp/offer-listing/"&B2, "//span[@class='price']"))
Bir adam Justin Scarpetti İstek listenizi sıyırıp ve json formatında veri döndürür oldukça düzgün "api" yarattı çağırdı.
Bu, Amazon İstek Listesi verilerini almak için küçük bir API'dir. Amazon birkaç yıl önce kapattığı için resmi API'sı yok. Ekran kazıma etrafında tek yolu.
Amazon İstek Lister phpQuery (DOM tahrik sunucu tarafı CSS3 seçici jQuery dayalı API) kullanır JSON, XML veya PHP Array nesnesi 'Amazon'un İstek Listesi sayfası ve ihracatını kazımak için.
Dilek listenizi kendi web sitenizde görüntülemek istiyorsanız mükemmel bir seçim yapın.
Kaynak: Amazon Wish Lister
Hey! O benim! :) – doitlikejustin
Hey Andy, Bunu mobil uçta kullanabilir miyim? eğer evet ise lütfen bana yolu bildirin. – Kumar
Merhaba @Kumar ama bunun bir mobil arka uç ile entegre edilmesi konusunda herhangi bir tavsiye veremem. Ancak, JSON çıkışı ile mobil uygulama geliştirmede bunu çok fazla sorun olmadan kullanabilmeniz gerekir. –
- 1. javac.exe AST programatik erişim örneği
- 2. Servlet 3.0'da MultiPartConfig'e programatik erişim
- 3. Silverlight'a programatik erişim Sony RZ30N Video Besleme
- 4. iOS ile Amazon Cognito: Kimlik Yasasına Erişim
- 5. Erişilebilir erişim mevcuttur Amazon S3 dosyası: Apache Spark
- 6. Amazon SNS, Amazon API sunucu günlüğü
- 7. Amazon S3
- 8. Amazon EC2
- 9. Amazon S3
- 10. Amazon EC2
- 11. Amazon EC2
- 12. PHP/Amazon S3: Sorgu dizesi kimlik doğrulaması
- 13. python, boto3 kullanarak Amazon S3 dizinleri oluşturma
- 14. , erişim
- 15. Erişim
- 16. Erişim
- 17. Ciltleme ÖğeleriSource programatik olarak
- 18. editActionsForRowAtIndexPath programatik olarak çağırın
- 19. Amazon ECS kümesi nasıl anlaşılır
- 20. Java EC2 örneğini java'da programatik olarak başlatma ve durdurma
- 21. Elastic Harita Azalt ve amazon s3: Erişim tuşları ile ilgili hata
- 22. AWS Erişim Anahtar No ben amazon SNS için konuyu oluşturmaya çalıştık aşağıdaki hatayı alıyorum hizmet
- 23. Amazon micro ec2 sunucusunda (Amazon Linux) bir SVN istemcisini nasıl yüklerim (Amazon Linux)
- 24. Raylar 4, Ataç, Amazon S3 Yapılandırma Amazon Yolu
- 25. Amazon SNS ve Amazon SQS arasındaki fark nedir?
- 26. Amazon RDS durağı örneği
- 27. Amazon RDS mysqldump Sorunlar
- 28. Amazon Cognito iOS
- 29. Amazon S3 bölge transfer?
- 30. "Sıfırla" Amazon EC2 sunucusu
bağlantı umut verici görünüyor, teşekkürler! – StasM
sadece bunu denedim, amazon.com yerine amazon.co.uk. xpath sorgulama hatalarının alınması. herhangi bir fikir? –
@ LarryG.Wapnitsky Bu kod, 3 yıl önce olduğu gibi Amazon'a dayanıyor, bu yüzden HTML muhtemelen değişti. Gördüğünüz hatayı daha ayrıntılı olarak paylaşabilir veya Google e-tablonuzu paylaşabilir ve bir göz atacağım. – robd