我正在对内容聚合器进行一些研究工作,我很好奇当前的一些craigslist聚合器如何将数据添加到他们的mashup中。

例如,www.housingmaps.com和现已关闭的www.chicagocrime.org

如果有一个可用于参考的网址,那将是完美的!

有帮助吗?

解决方案 8

在继续研究这个领域的同时,我找到了一个很棒的网站,其中部分内容是我感兴趣的:

Crazedlist

它使用客户端浏览器的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搜索的替代方法是使用数据代理数据交换服务。

3taps 是一项测试版服务,为许多服务提供开发人员API,包括Craigslist。他们的团队还构建了 Craiggers 来演示此API的用例。创始人Greg Kidd告诉我,3taps从非Craigslist来源收集Craigslist数据,它已经被索引和缓存,因此它不会对Craigslist造成任何压力。还列出了其他3taps数据源,但这些统计数据不清楚它们目前是否受支持。他们的目标是民主化数据交换

80legs 是一种抓取服务,可提供实时性较低但可能更全面的选项。他们的数据转储式服务包括数百个网站站点的抓取包,包括亚马逊,Facebook和Zillow(我不要现在不相信Craigslist。他们的新工作 Datafiniti 正在为这类数据提供搜索引擎。

替代选项是使用YQL或Yahoo管道来收集结果。

Craiglook 和HousingMaps正在使用它们收集结果

craigslist的任何抓取解决方案的问题在于它们会自动阻止任何“过多”访问它们的IP地址 - 这通常意味着每天超过几百次。因此,只要您的工具受到任何影响,它就会被关闭。

这就是为什么唯一一个持续使用框架(如searchtempest.com和crazedlist.org)或谷歌(如allofcraigs.com)的搜索网站。

3taps的作用是收集来自第三方来源的疯狂名单 - 例如Google和Bing缓存等。

编辑:此答案不再是最新的。包含craigslist结果的大多数分类搜索引擎现在都使用Google Custom Search或来自Yahoo或Bing的类似解决方案。 SearchTempest使用两者。 Allofcraigs现在是adhuntr并使用谷歌。 Crazedlist已关闭。

我从eBay,Craigslist和Zillow这样的网站上做了很多数据汇总。每个来源都需要不同的方法来聚合数据。

对于Craigslist,我使用RSS提要获取数据。我只想要特定城市中特定类别的特定数据,RSS源对我来说很好。如果您正在尝试获取所有数据,并且过度使用RSS源,Craigslist可能会禁止您。此外,您将无法从Craigslist Feed中获取所有数据,因为Feed会显示大部分数据,但不会显示所有数据。如果您的可靠性不需要100%,那么RSS是最简单的方法。

我在猜屏幕抓取

我认为还没有一个craigslist API ..我不认为他们会发布一个..

所以唯一的方法就是刮掉数据..你可以使用cURL库和heave regex来抓取你想要的页面数据

如果你看到一个链接..访问页面..刮取新页面获取数据并显示或存储

依旧......

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top