Amazon gần đây đã thay đổi API của họ và dường như không có cách nào để truy cập WishList của tôi trên Amazon bằng cách sử dụng các API này theo chương trình. Có ai biết cách nào để làm điều đó ngoài việc cạo màn hình? Có lẽ một số dịch vụ của bên thứ ba (tôi không nhớ chỉ làm việc với dữ liệu công khai)?Truy cập có lập trình vào Amazon Wishlist?
Trả lời
Đối cào màn hình, phong cách bố trí nhỏ gọn có thể hữu ích: http://bililite.com/blog/2010/10/31/hacking-my-way-to-an-amazon-wishlist-widget/
Cập nhật
tôi đã làm một số hack của riêng tôi trong bảng tính google và được quản lý để có được 2 triển khai cơ bản làm việc.
dùng script Google Apps:
Loại ID danh sách mong ước của bạn vào ô A1. Sao chép và dán đoạn mã sau vào một google apps script (Tools> Scripts> Scripts Editor), và chạy các chức năng getWishlist:
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, Tôi đang gặp một số probs với regex phù hợp với các tiêu đề/giá bán. Không chắc chắn tại sao, nhưng cho thấy ý tưởng cơ bản.
Sử dụng chức năng Google Spreadsheet
Gõ ID danh sách mong ước của bạn vào ô A1.
Nhập hàm sau vào A2. Nó sẽ cư trú trong tế bào và tất cả đều dưới nó với chuỗi id cho mỗi mục trong danh sách mong ước của bạn:
=importXML("http://www.amazon.co.uk/registry/wishlist/"&A1&"?layout=compact", "//*[starts-with(@name, 'item.')]/@name")
Loại chức năng sau đây vào B2, nó sẽ phân tách các asin từ chuỗi id:
=right(A2, 10)
Loại chức năng sau đây vào B3, mà sẽ lấy lời đề nghị niêm yết cho asin trong B2 và hiển thị tiêu đề:
=importXML("http://www.amazon.co.uk/gp/offer-listing/"&B2, "//h1")
Loại chức năng sau vào B4, mà sẽ lấy đề nghị niêm yết cho asin trong B2 và hiển thị tất cả các giá:
=concatenate(importXML("http://www.amazon.co.uk/gp/offer-listing/"&B2, "//span[@class='price']"))
Một anh chàng gọi Justin SCARPETTI đã tạo ra một "api" thực sự gọn gàng mà cạo danh sách mong ước của bạn và trả về dữ liệu ở định dạng JSON.
Đây là một API nhỏ để truy xuất dữ liệu Danh sách mong ước của Amazon. Không có API chính thức, vì Amazon đã đóng cửa một vài năm trước đây. Cách duy nhất xung quanh đó ... cạo màn hình.
Amazon Wish Lister sử dụng phpQuery (bộ chọn CSS3 phía máy chủ điều khiển DOM API dựa trên jQuery) để xóa trang Danh sách mong ước của Amazon và xuất sang JSON, XML hoặc đối tượng mảng PHP.
Hoàn hảo nếu bạn muốn lưu trữ hiển thị danh sách mong muốn của mình trên trang web của riêng bạn.
Nguồn: Amazon Wish Lister
Xin chào! Chính là tôi! :) – doitlikejustin
Hey Andy, Tôi có thể sử dụng điều này ở cuối thiết bị di động không? nếu có thì hãy cho tôi biết đường đi. – Kumar
hi @Kumar xin lỗi nhưng tôi không thể cung cấp bất kỳ lời khuyên nào về việc tích hợp điều này với phần phụ trợ trên thiết bị di động. Nhưng với đầu ra là JSON, bạn sẽ có thể sử dụng nó trong phát triển ứng dụng di động mà không gặp quá nhiều rắc rối. –
- 1. Amazon S3 Lập trình Truy cập Dữ liệu Sử dụng
- 2. Truy cập có lập trình vào MultiPartConfig trong Servlet 3.0
- 3. Truy cập có lập trình vào tài liệu Java
- 4. Truy cập mạnh vào Amazon S3 bằng C#
- 5. Cách tạo điểm truy cập lập trình
- 6. Truy cập có lập trình vào "Thanh Hệ thống" trong Android?
- 7. Cách truy cập trang web theo lập trình trong java
- 8. Trình giả lập cho Amazon Kindle
- 9. Truy cập tên tài nguyên theo lập trình
- 10. Truy cập có lập trình vào các thuộc tính được tạo bởi trình giữ chỗ thuộc tính
- 11. Truy cập đường dẫn đến app.config theo lập trình
- 12. Lập trình chống WSDL mà không truy cập vào dịch vụ web thực tế
- 13. Trình giả lập Windows Phone 8: Truy cập localhost
- 14. Sự cố khi truy cập Mongodb trên Amazon EC2
- 15. lập trình truy cập vào một iframe có sử dụng một dữ liệu URI như một nguồn
- 16. Truy cập dữ liệu trên DynamoDB của Amazon qua JavaScript
- 17. truy cập VBA: Có thể thiết lập lại xử lý
- 18. Có thể truy cập theo lập trình các mã lỗi được ghi bởi CoreBluetooth không?
- 19. Quyền truy cập vào sys.dm_db_index_usage_stats
- 20. Truy cập máy tính xách tay Bộ điều khiển quạt nhúng có lập trình?
- 21. Làm thế nào để truy cập hệ thống phân cấp wordnet một cách có lập trình?
- 22. Giả lập Amazon SQS trong quá trình phát triển
- 23. amazon s3 chỉ có thể truy cập từ tên miền/máy chủ của tôi?
- 24. Có một API tương đương với Trình truy cập/trình gỡ rối mã thông báo truy cập Facebook không?
- 25. Truy cập ngẫu nhiên vào luồng gzip
- 26. Thiết lập quyền cho WordPress trên Amazon EC2 (Amazon Linux)
- 27. Cách truy cập lịch sử trình duyệt Google Chrome theo lập trình trên máy cục bộ
- 28. Thêm bộ truy cập vào thuộc tính trong lớp có nguồn gốc từ lớp trừu tượng chỉ có trình truy cập có được
- 29. Truy cập vào vùng chứa DI
- 30. Trình điều khiển web Selenium có thể truy cập vào các biến toàn cầu javascript không?
liên kết trông đầy hứa hẹn, cảm ơn! – StasM
chỉ cần thử điều này, thay thế amazon.com cho amazon.co.uk. nhận lỗi truy vấn xpath. bất kỳ ý tưởng? –
@ LarryG.Wapnitsky Mã này dựa trên amazon như cách đây 3 năm, do đó HTML có thể đã thay đổi. Bạn có thể chia sẻ thêm chi tiết về lỗi mà bạn đang xem hoặc chia sẻ bảng tính Google của bạn và tôi sẽ xem xét. – robd