2008-10-25 13 views
30

Ich mache einige Forschungsarbeit in Content-Aggregatoren, und ich bin gespannt, wie einige der aktuellen Craigslist-Aggregatoren Daten in ihre Mashups bekommen.Wie erhalten Craigslist-Mashups Daten?

Zum Beispiel www.housingmaps.com und die jetzt geschlossen www.chicagocrime.org

Wenn es eine URL, die als Referenz verwendet werden kann, das wäre perfekt!

+1

Ich wollte nur ein Update zu diesem Thema hinzufügen. Es scheint, dass ein Bundesrichter im Jahr 2013 festgestellt hat, dass die Umgehung eines IP-Blocks (speziell durch craigslist) die CAFA verletzt: http://en.wikipedia.org/wiki/Computer_Fraud_and_Abuse_Act#Notable_cases_and_decisions_referring_to_the_Act hic sunt dracones –

+0

Traurig, aber wahr. Schauen Sie sich an, wie Craigslist (Art von) 3Taps heruntergefahren: http://en.wikipedia.org/wiki/Craigslist_Inc._v._3Taps_Inc. –

+0

Ähnliche Fragen von 2015 - http://opendata.stackexchange.com/q/5883/1511 – philshem

Antwort

0

Während er weiterhin diesen Bereich zu erforschen, fand ich eine tolle Website, die zum Teil nicht, was ich bin interessiert an:

Crazedlist

Es verwendet den HTTPReferer des Client-Browsers, der zwar interessant, aber nicht ideal ist. Der Autor der Seite behauptet auch, auf CL königlich angekreuzt zu haben, was ich verstehe. Es gibt auch ein klares Beispiel für Geschäftsbedürfnisse, die meinen Bedürfnissen ähnlich sind und warum ich mich für dieses Thema interessiere.

2

i Bildschirm bin zu raten, Schaben

Ich glaube nicht, gibt es eine Craigslist API noch .. und ich glaube nicht, dass ein Release wird ..

so dass der einzige Weg zu gehen ist, Daten zu kratzen .. könnten Sie cURL Bibliothek und hieven Regex verwenden, um die Daten, die Sie von einer Seite

wenn Sie einen Link sehen .. Zugriff auf die Seite .. schaben die neue Seite, die Daten erhalten und zeigen Sie es oder lagern Sie es

zu kratzen

und so weiter ..

+11

-1 NIEMALS REGE verwenden, um XML zu analysieren – UnkwnTech

+0

XML in Rails mit dem Nokogiri-Juwel analysieren. –

+1

@unknwentech: Das XHTML auf einer Craigslist-Seite ist außerordentlich einfach. Sie haben Recht damit, dass Sie Regex nicht zum Parsen von XML verwenden, aber in diesem Fall müssen Sie nicht. Sie ziehen nur bestimmte Elemente auf der Seite heraus, was schneller ist als die Verwendung eines vollständigen XML-Parsers. – eremzeit

15

Für AdRavage.com Ich verwende eine Kombination von Magpie RSS (um die Daten von Suchanfragen zu extrahieren) und eine benutzerdefinierte Screen-Scraping-Klasse, um die Stadt/Kategorie Informationen korrekt zu füllen, die beim Erstellen von Suchen verwendet werden.

Zum Beispiel, um die Kategorien zu extrahieren Sie könnten:

//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(); 
+0

Höchst ausgezeichnete Antwort! – pearcewg

4

Das Problem mit einer Scrapping-Lösung von craigslist ist, dass sie automatisch jede IP-Adresse blockieren, die auf sie zugreift - was normalerweise mehr als ein paar hundert Mal pro Tag bedeutet. Sobald dein Tool irgendeine Popularität erlangt hat, wäre es abgeschaltet worden.

Deshalb ist die einzige craigslist Suchseiten, die entweder Frames (wie searchtempest.com und crazedlist.org) oder google (wie allofcraigs.com) verwendet haben.

Was 3 taps ist craigslist Auflistung von Drittanbieter-Quellen in freier Wildbahn sammeln - Dinge wie die Google-und Bing-Caches zum Beispiel.

Bearbeiten: Diese Antwort ist nicht mehr auf dem neuesten Stand. Die meisten Kleinanzeigen-Suchmaschinen, die Ergebnisse von craigslist enthalten, verwenden jetzt Google Custom Search oder ähnliche Lösungen von Yahoo oder Bing. SearchTempest verwendet beides.Allofcraigs ist jetzt adhuntr und nutzt Google. Crazedlist ist heruntergefahren.

+1

Dies gilt immer noch. Für diejenigen, die das Logo nicht erkennen, schrieb @Nathan Stretch SearchTempest, das beste Craigslist-Aggregator/Such-Tool, das ich gesehen habe. Benutzte es, um zwei Autos zu kaufen, aber wusste nicht, dass Craigslist vor ein paar Jahren viel von seiner Wirksamkeit aufbaute. :( –

+0

@Eirik hoffentlich nicht alle seine Wirksamkeit! Wir gehen zu erheblichen Bemühungen, unsere Google-Abfragen zuzuschneiden, um so vollständige Ergebnisse wie möglich zu liefern. Besser als jeder Mitbewerber, nach meinem besten Wissen. Wir haben auch einen direkten Modus, der funktioniert ähnlich wie die iframes, abgesehen davon, dass separate Fenster seit frames keine Option mehr sind –

4

Die alternative Option wäre, YQL- oder Yahoo-Pipes zu verwenden, um die Ergebnisse zu sammeln.

Craiglook und HousingMaps sind mit ihnen Ergebnisse

+2

Sieht so aus, als ob Pipes heutzutage von CL verboten wird. – nmr

13

Eine Alternative zum Schaben sammeln (und blockiert zu werden), Verwendung von Frames oder Google-Suche ist ein Datenbroker oder Datenaustausch Service zu nutzen.

3taps ist ein Beta-Service, der vielen Services, einschließlich Craigslist, eine Entwickler-API bietet. Ihr Team baute auch Craiggers, um einen Anwendungsfall dieser API zu demonstrieren. Gründer Greg Kidd erzählte mir, dass 3taps Craigslist-Daten aus Nicht-Craigslist-Quellen ernten, wo sie bereits indiziert und zwischengespeichert sind, so dass sie Craigslist nicht belasten. Andere 3taps Datenquellen sind ebenfalls aufgeführt, aber these stats machen es unklar, ob sie derzeit unterstützt werden. Ihr Ziel ist Democratize the Exchange of Data.

80legs ist ein Crawling-Dienst, der eine weniger Echtzeit aber möglicherweise umfassendere Option bietet. Ihr data-dump-style-Dienst enthält crawl packages für Hunderte von Websites einschließlich Amazon, Facebook und Zillow (ich glaube Craigslist derzeit nicht). Ihre neuere Bemühung Datafiniti stellt eine Suchmaschine für diese Art von Daten zur Verfügung.

3

Ich habe eine Menge Datenaggregation von Websites wie eBay, Craigslist und Zillow gemacht. Jede Quelle erfordert eine andere Methode zum Aggregieren der Daten.

Für Craigslist, habe ich die Daten mit RSS-Feeds. Ich wollte nur bestimmte Daten in bestimmten Kategorien in bestimmten Städten, und die RSS-Feeds funktionierten gut für mich. Wenn Sie versuchen, alle Daten zu erhalten, und Sie die RSS-Feeds übermäßig verwenden, wird Craigslist wahrscheinlich Sie verbieten. Außerdem können Sie nicht alle Daten aus Craigslist-Feeds abrufen, da die Feeds die meisten Daten anzeigen, jedoch nicht alle. Wenn Ihre Zuverlässigkeit nicht 100% sein muss, ist RSS der einfachste Weg, dies zu tun.