Как craigslist мэшапы получают данные? [закрытый]

Многие объяснения уже присутствуют, чтобы объяснить, как это происходит и как это исправить, но вы также должны следовать рекомендациям, чтобы избежать NullPointerException вообще.

См. также: A хороший список лучших практик

Я бы добавил, очень важно, хорошо использовать модификатор final. Использование "окончательной" модификатор, когда это применимо в Java

Сводка:

  1. Используйте модификатор final для обеспечения хорошей инициализации.
  2. Избегайте возврата null в методы, например, при возврате пустых коллекций.
  3. Использовать аннотации @NotNull и @Nullable
  4. Быстрое завершение работы и использование утверждений, чтобы избежать распространения нулевых объектов через все приложение, когда они не должен быть пустым.
  5. Сначала используйте значения с известным объектом: if("knownObject".equals(unknownObject)
  6. Предпочитают valueOf() поверх toString ().
  7. Используйте null safe StringUtils StringUtils.isEmpty(null).

29
задан casperOne 29 April 2012 в 12:34
поделиться

6 ответов

Продолжая исследовать эту область, я нашел потрясающий сайт, который делает частично, чем я интересуюсь:

Crazedlist

Это использует HTTPReferer клиентского браузера, который интересен, но не идеален. Автор сайта также утверждает, что по-царски отсчитал на CL, который я понимаю. Это также дает ясный пример бизнес-потребности, которые подобны моим потребностям, и почему я интересуюсь этой темой.

0
ответ дан pearcewg 28 November 2019 в 01:46
поделиться

Проблема с любым соскобным решением CRAIGSLIST заключается в том, что они автоматически блокируют любой IP-адрес, который их слишком много обращается, - который обычно означает более чем несколько сотен раз в день. Поэтому, как только ваш инструмент получил любую популярность, он будет закрыт.

Вот почему единственный поисковые сайты Craigslist, которые продержались либо используют кадры (такие как SearchTempest.com, так и CrazedList.org) или Google (например, AlloFcraigs.com).

Какие 3Тапс состоит в том, чтобы собрать Craigslist, перечисленный из сторонних источников «в диких» - например, такие вещи, как кэширует CACHES Google и Bing.

Редактировать: этот ответ больше не обновляется. Большинство объявлений поисковых систем, которые включают результаты Craigslist, теперь используют пользовательские поиски Google или подобные решения от Yahoo или Bing. SearchTempest использует оба. ALLOFCRAIGS теперь Adhuntr и использует Google. CrazedList закрыл.

4
ответ дан 28 November 2019 в 01:46
поделиться

Для AdRavage.com я использую комбинацию 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();
15
ответ дан cfay 28 November 2019 в 01:46
поделиться

я предполагаю анализ экранных данных

, я не думаю, что все же существует craigslist API.. и я не думаю, что они выпустят тот..

, таким образом, единственный способ пойти состоит в том, чтобы очистить данные.. Вы могли пользоваться ВИХРЕВОЙ библиотекой и поднять regex для очистки данных, которые Вы хотите страницы

, если Вы видите ссылку.. получите доступ к странице.. очистите новую страницу, получают данные и показывают его или хранят его

и так далее..

2
ответ дан Wael Awada 28 November 2019 в 01:46
поделиться

Попробуйте также kahlua и Mochalua .

-121--1044147-

Вы правы, что телефоны, не совершающие джейлбрейкинг, ограничены магазином приложений Apple, и Apple «имеет право» применять любое правило, это совершенно не свободная территория. Однако во время разработки вообще не придется иметь дело с Apple. Можно использовать, например, rsync для загрузки кода на устройство и его тестирования.

-121--1793818-

Я только что сделал один:

http://cdn.javascriptmvc.com/videos/jobs/craigslist.js

, который производит:

http://cdn.javascriptmvc.com/videos/jobs/craigslist.html

Необходимо запустить в носороге.

2
ответ дан 28 November 2019 в 01:46
поделиться

Альтернативный вариант - использовать каналы YQL или Yahoo для сбора результатов.

Craiglook и HousingMaps используют их для сбора результатов

4
ответ дан 28 November 2019 в 01:46
поделиться