Amazonは最近APIを変更しました。このAPIを使用してプログラムでAmazonのWishListにアクセスする方法はないようです。誰も画面スクレイピング以外の方法を知っていますか?たぶん一部のサードパーティのサービス(私は公開データだけで作業しても構わない)ですか?Amazon Wishlistへのプログラムによるアクセス?
答えて
スクリーンスクレイピングのために、コンパクトなレイアウトスタイルが役に立つかもしれません:http://bililite.com/blog/2010/10/31/hacking-my-way-to-an-amazon-wishlist-widget/
更新
私は、Googleスプレッドシートの私自身のいくつかのハッキングを行なったし、作業2つの基本的な実装を得ることができました。 Google Appsのスクリプトを使用した
:
は、セルA1にあなたのウィッシュリストのIDを入力します。グーグルにコピーし、以下を貼り付け、スクリプト([ツール]> [スクリプト]> [スクリプトエディタ)アプリ、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、私はタイトルに一致する正規表現でいくつかちゃったごめんなさいを抱えています/価格。理由はわかりませんが、基本的な考え方を示しています。
使用してGoogleスプレッドシート機能
は、セルA1にあなたのウィッシュリストのIDを入力します。
A2に次の関数を入力します。それはあなたのウィッシュリストの各項目のid列とセルとその下のすべてを移入します:
=importXML("http://www.amazon.co.uk/registry/wishlist/"&A1&"?layout=compact", "//*[starts-with(@name, 'item.')]/@name")
をid文字列からASINを抽出した、B2に次の関数を入力:
=right(A2, 10)
タイプタイトルB2でのASINのリスティングのオファーを取得し、表示しますB3に次の関数、:フェッチします
=importXML("http://www.amazon.co.uk/gp/offer-listing/"&B2, "//h1")
タイプB4に次の機能を、ごB2にASINために上場し、すべての価格を表示する:ジャスティンScarpetti呼ば
=concatenate(importXML("http://www.amazon.co.uk/gp/offer-listing/"&B2, "//span[@class='price']"))
男があなたのウィッシュリストを削ると、JSON形式でデータを返し、本当にきちんとした「API」を作成しました。
これはAmazon Wish Listデータを取得するための小さなAPIです。数年前にAmazonがシャットダウンしたため、 公式APIはありません。その周りの唯一の方法 ...スクリーンスクレイピング。
アマゾンウィッシュリスターは、Amazonのウィッシュリストページと JSON、XML、またはPHP配列オブジェクトへの輸出をこすりする(サーバー側のCSS3セレクタはjQueryのに基づいてDOM APIを駆動)phpQueryを使用しています。
お客様のご希望のリストをご自身の ウェブサイトに表示したい場合は完璧です。
ねえ!それは私です! :) – doitlikejustin
ちょっとアンディ、私はモバイル側でこれを使用できますか?はいの場合は、私に方法を教えてください。 – Kumar
こんにちは@Kumar申し訳ありませんが、モバイルバックエンドとの統合に関するアドバイスはありません。しかし、出力がJSONなら、あまり問題なくモバイルアプリ開発でこれを使用できるはずです。 –
- 1. プログラムによるAmazonのワークグループへのアクセス
- 2. Amazon S3プログラムによる利用状況データへのアクセス
- 3. AzureのCloudConfigurationManagerへのプログラムによるアクセス
- 4. Javaコンソールログへのプログラムによるアクセス
- 5. プログラムによるiSightへのアクセス?
- 6. Javaドキュメントへのプログラムによるアクセス
- 7. プログラムによるビューコントローラへのアクセス
- 8. Googleドキュメントへのプログラムによるアクセス
- 9. Amazon ECSのホストディレクトリへのアクセス
- 10. WishListメンバーwishlistメンバ_shoppingcart_register(動作)
- 11. ヘルプAmazon EC2インスタンスへのアクセス
- 12. Cocoa TouchによるAmazon E-Commerceサービスへのアクセス
- 13. SilverlightによるソニーRZ30Nへのプログラムによるアクセス
- 14. Amazon Lex(Chatbot)のカスタムWordPressプラグインへのアクセス
- 15. Amazon Lexコンソールのラムダ機能へのアクセス
- 16. Amazon EC2価格表へのAPIアクセス?
- 17. エンタープライズSharePointに格納されたOneNoteへのプログラムによるアクセス
- 18. ホストからのドッカーボリュームへのプログラムによるアクセス
- 19. プログラムによるフォルダへのアクセス許可の追加
- 20. プログラムによるEclipseの呼び出し階層へのアクセス
- 21. ViewControllerからのプログラムによるビューへのアクセス?
- 22. View Controller内のビューへのプログラムによるアクセス
- 23. Servlet 3.0のMultiPartConfigへのプログラムによるアクセス
- 24. ビットバケットブランチとその内容へのプログラムによるアクセス
- 25. .netの呼び出しスタックへのプログラムによるアクセス
- 26. AndroidのManage appsへのプログラムによるアクセス
- 27. C#でプログラムによるWebサービスへのアクセス
- 28. プログラムによる新しいChrome通知へのアクセス
- 29. プログラムによるWindowsファイル割り当てテーブルへのアクセス
- 30. スケジュールされたタスクイベントトリガー、イベントトリガー情報へのプログラムによるアクセス
リンクは有望に見えることを、感謝! – StasM
はamazon.co.ukの代わりにamazon.comの代わりにこれを試しました。 xpathクエリエラーを取得しています。何か案は? –
@ LarryG.Wapnitskyこのコードは3年前のamazonに基づいているため、HTMLがおそらく変更されています。表示されているエラーの詳細を共有したり、Googleのスプレッドシートを共有したりできますか? – robd