Startup PoSasiedzku.pl – witaj w sąsiedztwie!

Ostatnio miałem przyjemność przyjrzeć się bliżej jednemu z wrocławskich startupów – PoSasiedzku.pl.

Serwis, jak sama nazwa mówi, służy do nawiązywania 'sąsiedzkich relacji’. Główną ideą serwisu jest budowanie społeczności poprzez łączenie ludzi z okolicy – sąsiadów. Słowo sąsiad nie jest nigdzie zdefiniowane, może to być sąsiad z bloku obok a może być i sąsiad internetowy. Sąsiedzi grupują się w społeczności. Społecznością może być wszystko – osiedle, miasto, ulica a nawet hotel czy most. Bardzo trafionym pomysłem było mocne zintegrowanie serwisu z Google Maps dzięki czemu relacje sąsiedzkie są dodatkowo podkreślone.
Każdy użytkownik ma wgląd do aktualnych wydarzeń w społecznościach, do których należy bądź do których ma niedaleko. Oczywiście serwis posiada wszystkie funkcjonalności społecznościowe, użytkownicy mogą się komunikować, upiększać swój profil zdjęciami, pisać blogi etc.

Osobiście jestem dosyć sceptycznie nastawiony do powstających portali społecznościowych, tak jest i w tym przypadku, tym bardziej gdy serwis nie ma pewnej konkretnej tematyki, która mogła by scalić użytkowników. Aktualnie miejscem, które skupia Polaków, jest nasza-klasa.pl i trzeba wymyślić coś więcej ponad motyw społeczności/znajomości, aby móc osiągnąć sukces.

Nie jestem pewien, czy sama chęć poznania sąsiadów będzie wystarczającą motywacją do korzystania z serwisu. Osobiście szanse serwisu upatruje nie tyle w ideologii sąsiedzkiej co informacyjnej. Jeżeli społeczności miejskie w poSąsiedzku.pl będą chciały informować się na wzajem o tym, co się wokół nich dzieje, to dla każdego miasta może powstać coś na kształt wrocek.pl. Jednak do tego daleka droga.

Niestety nie będzie to droga łatwa gdyż, mentalność polskich użytkowników internetu jest dosyć samolubna i z zasady nie chcą dzielić się 'za darmo’. Aby użytkownicy udzielali się społecznie, muszą być odpowiednio zmotywowani pewnymi gratisami: rangi, uprawnienia czy nagrody… we wrocku tego nie ma i serwis już dawno przestał rozwijać.

Grafika serwisu jest bardzo estetyczna, dosyć specyficzna, rzekłbym nawet że trochę cukierkowa. W pierwszym momencie, poprzez swoją unikalność i wyrazistość, bardzo przypadła mi do gustu, teraz po 2 tygodniowej styczności z serwisem zaczyna męczyć.

W tej chwili serwis opatrzony jest znaczkiem beta 1.1, termin wersji ostatecznej nie jest znany, miejmy nadzieje, że nie pójdą w ślady gmaila czy belysio i będzie to niebawem. Twórcy zapowiadają, że w najbliższym czasie dodadzą nowe funkcjonalności (ciekawe jakie?) – czekam z niecierpliwością.

Życzę powodzenia.

Tymczasem zapraszam do sąsiedztwa!

Automatyczne przeglądanie kont na naszej klasie

Ostatnio zapragnąłem trochę posurfować po największym portalu społecznościowym w Polsce jakim jest Nasza-Klasa. Poniżej prościutki kod odwiedzający losowe konta.

Deklarujemy zmienne do logowania, plik przetrzymujący ciasteczka i nazwę przeglądarki z jaką będzie się przedstawiał nasz automat.

$cookie = 'cookie.txt';

$loginUrl = 'http://nasza-klasa.pl/login';
$login = 'login';
$password = 'pass';
$useragent = 'Mozilla/5.0 (X11; U; Linux i686; pl; rv:1.8.0.3) Gecko/20060426 Firefox/1.5.0.3';

Logujemy się na konto n-k:

$ch = curl_init( $loginUrl );
curl_setopt( $ch, CURLOPT_COOKIEFILE, $cookie );
curl_setopt( $ch, CURLOPT_COOKIEJAR, $cookie );
curl_setopt( $ch, CURLOPT_COOKIE, $cookie);
curl_setopt( $ch, CURLOPT_USERAGENT, $useragent );
curl_setopt( $ch, CURLOPT_POST, true );
curl_setopt( $ch, CURLOPT_POSTFIELDS, 'login='.$login.'&password='.$password );
curl_setopt( $ch, CURLOPT_REFERER, 'http://nasza-klasa.pl/' );
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, 1 );
curl_setopt( $ch, CURLOPT_FOLLOWLOCATION, 1);
$afterLogin = curl_exec($ch);
curl_close($ch);

Wywołujemy adresy losowych kont:

for( $i=1; $i<=100; $i++ ) {
	$profileID = rand( 1000, 15000000 ); // rand
	
	$ch = curl_init( 'http://nasza-klasa.pl/profile/'.$profileID );
	curl_setopt( $ch, CURLOPT_COOKIEJAR, $cookie);
	curl_setopt( $ch, CURLOPT_COOKIEFILE, $cookie);
	curl_setopt( $ch, CURLOPT_COOKIE, $cookie);
	curl_setopt( $ch, CURLOPT_USERAGENT, $useragent );
	curl_setopt( $ch, CURLOPT_HEADER, 0);
	curl_setopt( $ch, CURLOPT_REFERER, 'http://nasza-klasa.pl/' );
	curl_setopt( $ch, CURLOPT_RETURNTRANSFER, 1 );
        curl_setopt( $ch, CURLOPT_FOLLOWLOCATION, 1);
	$profile = curl_exec($ch);
	curl_close($ch);
	
	if( !preg_match( '/Nie znaleziono strony \(404\)/', $profile ) ) {
		// konto istnieje
		// z danymi konta możemy zrobić co chcemy...
	} else {
		// nie ma konta takiego konta
	}
}

Ustawiamy w contab'ie wywołanie skryptu co 10 minut:

*/10 * * * * curl -s -o /dev/null PATH_TO_SCRIPT

Z uwagi na bardzo dużą liczbę kont prawdopodobieństwo odwiedzenia w niedługim czasie 2 razy tego samego konta jest stosunkowo niewielkie.

Jednak jeżeli chcemy odwiedzić każde konto jedynie raz to należy zmodyfikować skrypt tak aby przy każdym wywołaniu iterował po kolejnej setce kont. Informacje o ID od którego mamy zacząć możemy zapisywać w bazie danych lub w pliku.