tl; dr:Chrome拡張機能でAjax経由でウェブページをスクラップすることを誰かが正しい方向に向けることができますか?私は関連するチュートリアルを取りたいが、どこから始めるべきか分からない。Ajaxを使ってボットと見なす必要はありませんか?
コードに自分自身を教えるための方法として
が、私は私のGoodreads.comブックリスト(が楽天ブックスAPIを使用して)引き、その後、サンに対して検索するためのNode.jsアプリケーションを構築しています==目標== Francisco Public LibraryのOverdriveカタログ(GoodreadsのAPIに含まれていない関数)。私は第2部に挑戦している。
私はChrome拡張機能Available Goodreads(https://github.com/rhollister/goodreads)をガイダンスとして使用しています。先週、私は先週、regexp(frustratingly fun)に関するすべてを学びました。
==問題==
私は、サイトがあることの警告を返しhttp.request(library_search_url)を使用する場合は、「この機能へのアクセスは、ウェブボットのために無効にされました。」拡張コードを見ると、Ajaxをバックグラウンドウィンドウで使用してページを擦っているようです。
私はここにいくつかの研究(例えばNode can't scrape certain pages)に基づいて要求されたが、それは動作しませんでしたどのように私は変更しようとしました
==質問==。急行を学び、私が望むことを達成するためにこれを(http://mherman.org/blog/2013/10/20/handling-ajax-calls-with-node-dot-js-and-express-scraping-craigslist/)する必要がありますか?そうでなければ、私は学ばなければならない他のアプローチがありますか?
(注:私は、コード自体を探していないよ - ちょうど方向なので、私は学ぶために必要なものを学ぶ行くことができます)
ありがとう!
コンテキストの場合、ここで私はこれを考えさせるのコードは、Ajaxベースのスクレイピングされます:
$.ajax({
url: url,
success: parseODResults(bookSearchTerms, l, libraryShortName, libraryStr, library.newDesign, searchTerm, url),
error: function(request, status, error) {
if (sender) {
chrome.tabs.sendMessage(sender.tab.id, {
type: 'FROM_AG_EXTENSION' + id,
error: error
});
}
},
xhr: function() {
return jQuery.ajaxSettings.xhr();
}
});
apiを使用してください - http://www.goodreads.com/api、彼らのページを掻き回すことは、TOSに反しているようです。 – baao
私の最初の投稿を編集します。この時点では:私は書籍のリストを取得するために良いリーダーAPIを使用しています。 APIが実行できないことは、実際のライブラリのオーバードライブカタログを照会することです。 – Dlince