私はコンテンツアグリゲーターの調査作業を行っていますが、現在のクレイグリストアグリゲーターの一部がデータをマッシュアップに取り込む方法に興味があります。
たとえば、www.housingmaps.comと現在閉鎖されているwww.chicagocrime.org
参照に使用できるURLがあれば、それは完璧です!
この分野の調査を続けているうちに、私が興味を持っていることを部分的に実行する素晴らしいサイトを見つけました。
クライアントブラウザのHTTPRefererを使用します。これは興味深いですが、理想的ではありません。サイトの作者はまた、私が理解しているように、CLを王室にチェックしたと主張しています。また、私のニーズに似たビジネスニーズの明確な例と、このトピックに興味を持っている理由も示しています。
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検索の代わりに、データブローカーまたはを使用することもできます。データ交換サービス。
taps は、Craigslistを含む多くのサービスに開発者APIを提供するベータサービスです。彼らのチームは、このAPIのユースケースを示すために Craiggers も構築しました。創設者のGregKiddは、3tapsはCraigslistに負担をかけないように、すでにインデックスが作成されてキャッシュされている非CraigslistソースからCraigslistデータを収集すると私に言いました。他の3tapsデータソースもリストされていますが、 これらの統計 現在サポートされているかどうかが不明確になります。彼らの目標は データ交換の民主化 です。
80legs は、リアルタイムではありませんが、より包括的なオプションを提供する可能性のあるクロールサービスです。彼らのデータダンプスタイルのサービスには、Amazon、Facebook、Zillowなどの数百のサイトサイトの クロールパッケージ が含まれています(現在、Craigslistは信じていません)。彼らの新しい取り組み Datafiniti は、このタイプのデータに対して検索エンジンを提供しています。
別のオプションは、YQLまたはYahooパイプを使用して結果を収集することです。
Craiglook そしてHousingMapsは結果を収集するためにそれらを使用しています
Craigslistのスクレイピングソリューションの問題は、それらにアクセスするIPアドレスを「多すぎる」と自動的にブロックすることです。これは通常、1日に数百回以上を意味します。そのため、ツールの人気が上がるとすぐにシャットダウンされます。
そのため、持続した唯一のクレイグリスト検索サイトは、フレーム(searchtempest.comやcrazedlist.orgなど)またはグーグル(allofcraigs.comなど)を使用しています。
3tapsが行うことは、「実際の」サードパーティソースからクレイグリストのリストを収集することです。たとえば、GoogleやBingのキャッシュなどです。
編集:この回答はもはや最新ではありません。クレイグリストからの結果を含むほとんどの求人検索エンジンは、現在、Googleカスタム検索またはYahooまたはBingの同様のソリューションを使用しています。 SearchTempestは両方を使用します。 Allofcraigsは現在adhuntrであり、Googleを使用しています。 Crazedlistはシャットダウンしました。
私はeBay、Craigslist、Zillowなどのサイトから多くのデータ集約を行いました。ソースごとに、データを集約するための異なる方法が必要です。
Craigslistの場合、RSSフィードを使用してデータを取得しました。特定の都市の特定のカテゴリの特定のデータのみが必要でしたが、RSSフィードは問題なく機能しました。すべてのデータを取得しようとしていて、RSSフィードを使いすぎている場合、Craigslistはおそらくあなたを禁止します。また、フィードにはすべてではなくほとんどのデータが表示されるため、Craigslistフィードからすべてのデータを取得することはできません。信頼性が100%である必要がない場合は、RSSが最も簡単な方法です。
画面のスクレイピングを推測しています
私はまだクレイグズリストAPIがあるとは思いません..そして私は彼らがそれをリリースするとは思いません..
したがって、データをスクレイピングするのが唯一の方法です。cURLライブラリを使用し、正規表現を使用して、ページに必要なデータをスクレイピングできます。
リンクが表示された場合..ページにアクセスします..新しいページをスクレイプしてデータを取得し、表示または保存します
等々..
私はちょうど1つを作りました:
http://cdn.javascriptmvc.com/videos/jobs/craigslist.js
それは以下を生み出します:
http://cdn.javascriptmvc.com/videos/jobs/craigslist.html
Rhinoで実行する必要があります。