私はコンテンツ アグリゲーターについていくつかの調査作業を行っており、現在の craigslist アグリゲーターの一部がどのようにマッシュアップにデータを取得しているのかに興味があります。
たとえば、www.housingmaps.com と現在閉鎖されている www.chicagocrime.org
参考になるURLがあれば完璧です!
私はコンテンツ アグリゲーターについていくつかの調査作業を行っており、現在の craigslist アグリゲーターの一部がどのようにマッシュアップにデータを取得しているのかに興味があります。
たとえば、www.housingmaps.com と現在閉鎖されている www.chicagocrime.org
参考になるURLがあれば完璧です!
AdRavage.comでは、Magpie RSS (検索から返されたデータを抽出するため) とカスタム スクリーン スクレイピング クラスを組み合わせて使用し、検索を構築するときに使用される都市/カテゴリ情報を適切に入力します。
たとえば、カテゴリを抽出するには、次のことができます。
//scrape category data
$h = new http();
$h->dir = "../cache/";
$url = "http://craigslist.org/";
if (!$h->fetch($url, 300)) {
echo "<h2>There is a problem with the http request!</h2>";
exit();
}
//we need to get all category abbreviations (data looks like: <option value="ccc">community)
preg_match_all ("/<option value=\"(.*)\">([^`]*?)\n/", $h->body, $categoryTemp);
$catNames = $categoryTemp['2'];
//return the array of abreviations
if(sizeof($catNames) > 0)
return $catNames;
else
return $emptyArray = array();
スクレイピング (およびブロックされる)、フレームの使用、または Google 検索に代わる方法は、データ ブローカーまたはデータ交換サービスを使用することです。
3tapsは、Craigslist を含む多くのサービスに開発者 API を提供するベータ サービスです。彼らのチームは、この API の使用例を示すためにCraiggersも作成しました。創設者の Greg Kidd は、3taps は Craigslist に負担をかけないように、Craigslist 以外のソースから Craigslist のデータを収集していると語った。他の 3taps データ ソースもリストされていますが、これらの統計では、現在サポートされているかどうかは不明です。彼らの目標は、データ交換を民主化することです。
80legsはクローリング サービスで、リアルタイム性は低くなりますが、より包括的なオプションを提供する可能性があります。彼らのデータ ダンプ スタイルのサービスには、Amazon、Facebook、Zillow など、何百ものサイトのクロール パッケージが含まれています (現在、Craigslist は信じられません)。彼らの新しい取り組みである Datafinitiは、この種のデータに対する検索エンジンを提供しています。
craigslistのスクレイピングソリューションの問題は、それらにアクセスするIPアドレスを「多すぎる」と自動的にブロックすることです。これは通常、1日に数百回以上を意味します。そのため、ツールの人気が上がるとすぐにシャットダウンされます。
そのため、持続した唯一のクレイグリスト検索サイトは、フレーム(searchtempest.comやcrazedlist.orgなど)またはグーグル(allofcraigs.comなど)を使用しています。
3tapsが行うことは、「実際の」サードパーティソースからクレイグリストのリストを収集することです。たとえば、GoogleやBingのキャッシュなどです。
編集:この回答は最新ではありません。クレイグリストからの結果を含むほとんどの求人検索エンジンは、現在、Googleカスタム検索またはYahooまたはBingの同様のソリューションを使用しています。SearchTempestは両方を使用します。Allofcraigsは現在adhuntrであり、Googleを使用しています。Crazedlistはシャットダウンしました。
別のオプションは、YQL または Yahoo パイプを使用して結果を収集することです。
Craiglookと HousingMaps はそれらを使用して結果を収集しています
eBay、Craigslist、Zillow などのサイトから多くのデータを収集してきました。データを集計するには、ソースごとに異なる方法が必要です。
Craigslist については、RSS フィードを使用してデータを取得しました。特定の都市の特定のカテゴリの特定のデータのみが必要で、RSS フィードはうまく機能しました。すべてのデータを取得しようとしていて、RSS フィードを使いすぎると、Craigslist から禁止される可能性があります。また、Craigslist フィードからすべてのデータを取得することはできません。これは、フィードがすべてではなくほとんどのデータを表示するためです。信頼性が 100% である必要がない場合は、RSS が最も簡単な方法です。
私はちょうどそれを作った:
http://cdn.javascriptmvc.com/videos/jobs/craigslist.js
それは以下を生成します:
http://cdn.javascriptmvc.com/videos/jobs/craigslist.html
rhino で実行する必要があります。
私はスクリーンスクレイピングを推測しています
craigslist API はまだないと思います..また、リリースする予定もないと思います..
したがって、唯一の方法はデータをスクレイピングすることです..cURLライブラリとヒーブ正規表現を使用して、ページの必要なデータをスクレイピングできます
リンクが表示された場合..ページにアクセスする..新しいページをスクレイピングするデータを取得して表示または保存する
等々..
この分野の調査を続けているうちに、私が興味を持っていることの一部を行っている素晴らしいサイトを見つけました。
クライアント ブラウザーの HTTPReferer を使用します。これは興味深いものですが、理想的ではありません。このサイトの作成者はまた、CL を高く評価していると主張していますが、それは私も理解しています。また、私のニーズに似たビジネス ニーズの明確な例と、このトピックに関心を持っている理由も示しています。