2008-10-25 18 views
30

Zajmuję się badaniami nad agregatorami treści i jestem ciekaw, jak niektórzy z obecnych agregatorów craigslist pobierają dane do swoich mashupów.W jaki sposób mashupy craigslist pobierają dane?

Na przykład www.housingmaps.com a teraz zamknięty www.chicagocrime.org

Jeśli istnieje URL, które mogą być wykorzystane w celach informacyjnych, które byłoby idealne!

+1

Po prostu chciałem dodać aktualizację do tego wątku. Wydaje się, że w 2013 roku, sędzia federalny uznał, że obejście bloku IP (konkretnie przez Craigslist) narusza CAFA: http://en.wikipedia.org/wiki/Computer_Fraud_and_Abuse_Act#Notable_cases_and_decisions_referring_to_the_Act hic sunt dracones –

+0

Smutne, ale prawdziwe. Sprawdź, jak Craigslist zamknął (rodzaj) 3Taps: http://en.wikipedia.org/wiki/Craigslist_Inc._v._3Taps_Inc. –

+0

Podobne pytanie z 2015 r. - http://opendata.stackexchange.com/q/5883/1511 – philshem

Odpowiedz

0

Kontynuując badania tego obszaru, znalazłem niesamowite miejsca, które ma częściowo to, co mnie interesuje:

Crazedlist

Używa HTTPReferer przeglądarki klienta, co jest interesujące, ale nie idealne. Autor strony twierdzi również, że na karcie CL zaznaczono royally, co rozumiem. Daje również wyraźny przykład potrzeb biznesowych, które są podobne do moich potrzeb i dlaczego jestem zainteresowany tym tematem.

2

jestem skrobania

nie sądzę jest Craigslist API jeszcze .. i nie sądzę, będą one zwolnić jeden ekran zgadywać ..

więc jedynym sposobem jest zeskrobać dane .. można użyć biblioteki cURL i falowanie regex zeskrobać dane, które mają strony

jeśli widzisz link .. dostęp do strony .. zeskrobać nowa strona uzyskać dane i wyświetlić go lub zapisać go

i tak dalej ..

+11

-1 NIGDY nigdy nie używaj RegEx do parsowania XML – UnkwnTech

+0

Parsuj XML w Railsach za pomocą gem nokogiri. –

+1

@unknwntech: xhtml na stronie Craigslist jest niezwykle prosty. Masz rację, że nie używasz regex do parsowania XML, ale w tym przypadku nie musisz. Po prostu wyciągasz określone elementy na stronie, co jest szybsze niż w pełnowymiarowym analizatorze składni XML. – eremzeit

15

Dla AdRavage.com używam kombinacji Sroka RSS (aby wyodrębnić dane zwrócone z wyszukiwań) i niestandardowej klasy skrobania ekranu, aby poprawnie wypełnić informacje o mieście/kategorii używane podczas budowania wyszukiwania.

Na przykład, aby wyodrębnić kategorie, które mogłyby:

//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

Niezwykle doskonała odpowiedź! – pearcewg

4

Problem z jakimkolwiek rozwiązaniem zdrapywania craigslisty polega na tym, że automatycznie blokują one każdy adres IP, który uzyskuje dostęp do nich "za dużo" - co zwykle oznacza więcej niż kilkaset razy dziennie. Więc gdy tylko twoje narzędzie uzyska jakąkolwiek popularność, zostanie zamknięte.

Dlatego jedyne witryny wyszukiwania w poszukiwaniu krzyżyków, które przetrwały, używają ramek (takich jak searchtempest.com i crazedlist.org) lub google (jak allofcraigs.com).

Co 3taps ma na celu zebranie listy aukcji z zewnętrznych źródeł "na wolności" - na przykład takie jak Google i Bing.

Edytuj: ta odpowiedź nie jest już aktualna. Większość wyszukiwarek ogłoszeń reklamowych, które zawierają wyniki od Craigslist teraz użyć Google Custom Search lub podobnych rozwiązań z Yahoo lub Bing. SearchTempest używa obu.Allofcraigs jest teraz adhuntr i używa Google. Crazedlist został zamknięty.

+1

To nadal jest prawdą. Dla tych, którzy nie rozpoznają logo, @Nathan Stretch napisał SearchTempest, najlepsze narzędzie do wyszukiwania/wyszukiwania Craigslist, jakie widziałem. Wykorzystał go do zakupu dwóch samochodów, ale nie zdał sobie sprawy, że Craigslist kilka lat temu zniszczył wiele ze swojej skuteczności. :( –

+0

@Eirik mam nadzieję, że nie wszystkie jego skuteczność! Staramy się dostosować nasze zapytania Google, aby zapewnić jak najlepsze wyniki.Moje lepsze niż jakikolwiek konkurent, zgodnie z moją wiedzą. Mamy również tryb Direct, który działa podobnie jak w przypadku ramek iframe, z wyjątkiem używania oddzielnych okien, ponieważ ramki nie są już opcją –

4

Alternatywną opcją byłoby użycie rur YQL lub Yahoo w celu zebrania wyników.

Craiglook i HousingMaps używają ich w celu zebrania wyników

+2

Wygląda na to, że Pipes dostaje obecnie 403 Zabronione od CL. – nmr

13

Alternatywą do skrobania (i coraz zablokowany), za pomocą ramek lub wyszukiwarki Google jest użycie dane pośrednika lub wymiany danych usługi.

3taps to usługa w wersji beta, która zapewnia API programisty dla wielu usług, w tym Craigslist. Zespół zbudował także model Craiggers, aby zademonstrować przypadek użycia tego API. Założyciel Greg Kidd powiedział mi, że 3taps zbiera dane Craigslist ze źródeł innych niż Craigslist, gdzie jest już zaindeksowane i zapisane w pamięci podręcznej, dzięki czemu nie obciąża Craigslist. Inne źródła danych 3tap są również wymienione, ale these stats sprawiają, że nie jest jasne, czy są one obecnie obsługiwane. Ich celem jest Democratize the Exchange of Data.

80legs to usługa przeszukiwania, która oferuje mniej kompleksową opcję w czasie rzeczywistym, ale potencjalnie bardziej kompleksową. Usługa ich przechowywania danych obejmuje crawl packages dla setek stron internetowych, w tym Amazon, Facebook i Zillow (obecnie nie uważam Craigslist). Ich nowszy wysiłek: Datafiniti zapewnia wyszukiwarkę tego typu danych.

3

Zrobiłem wiele agregacji danych z witryn takich jak eBay, Craigslist i Zillow. Każde źródło wymaga innej metody agregowania danych.

Dla Craigslist, dostałem dane za pomocą kanałów RSS. Chciałem tylko konkretnych danych w określonych kategoriach w konkretnych miastach, a kanały RSS działały dobrze dla mnie. Jeśli próbujesz uzyskać wszystkie dane, a nadużywasz kanałów RSS, Craigslist najprawdopodobniej Cię zablokuje. Ponadto nie będzie można uzyskać wszystkich danych z kanałów Craigslist, ponieważ kanały zawierają większość danych, ale nie wszystkie. Jeśli twoja wiarygodność nie musi być w 100%, to RSS jest najłatwiejszym sposobem na to.

Powiązane problemy