Skocz do zawartości

[TUTORIAL] DMOZ Second Wind (DSW)


qwertyuiop

Rekomendowane odpowiedzi

Ponieważ ostatnimi czasy dość popularnym tematem są wszelkiego rodzaju generatory, postanowiłem opisać dość prosty w działaniu generator zaplecza tematycznego opartego na katalogu DMOZ. Ktoś wreszcie musi być pierwszy :D, wiedza musi iść pod strzechy i może parę osób zacznie myśleć samodzielnie i zacznie rozwijać swoje własne projekty.

Dlaczego DMOZ? Z tej prostej przyczyny, że nie łamiemy prawa, rozpowszechniamy własną kopie otwartego katalogu, a jednocześnie otrzymujemy zawartość tematyczną. Konstrukcją DSW (tak nazwałem roboczo generator) będzie dość prosta i swoim wyglądem będzie przypominać katalog stron. Nic prostszego, w tym celu zbudujemy parser Dmoz oparty o kilka prostych funkcji. W wyniku działania naszego parsera otrzymamy tablicę.

/**
* @author Qwertyuiop
* @example pobierz_dmoz($_GET['q'])
* @return array()
*/
function  pobierz_dmoz($keywords){
$zapytanie = 'https://search.dmoz.org/cgi-bin/search?search='.urlencode($keywords);
$odpowiedz = implode('', file($zapytanie));

if ($odpowiedz === false) {
  /*
   * Tu możemy wstawić jakaś funkcje (np: mail) powiadamiająca
   * o błędzie w pobieraniu zawartości DMOZ
   */
}
// Wyciagamy opisy
preg_match_all('/- (.*?)\.<br>/', $odpowiedz, $opisy, PREG_SET_ORDER);
// Wyciągamy tytuł
preg_match_all('/<li><a href=(.*?)\<\/a> /', $odpowiedz, $tytul, PREG_SET_ORDER);

$ile = count($opisy);
/*
 * Sprawdzamy czy opisów jest więcej niż 1 i czy zmienna $opisy nie jest pusta
 */
if($ile > 1 && !empty($ile)) {
	for ($index = 0; $index < $ile; $index++) {
		preg_match_all('/"(.*?)\">/', $tytul[$index][1], $link, PREG_SET_ORDER);
		preg_match_all('/">(.*?)\<\/a> /', $tytul[$index][0], $title, PREG_SET_ORDER);
		$wpis[$index]['link'] = $link[0][1];
		$wpis[$index]['title'] =  $title[0][1];
		$wpis[$index]['description'] = $opisy[$index][1];
	}
}else{
	$wpis[0]['title']= 'brak';
	$wpis[0]['description'] =  'brak';
	$wpis[0]['link'] =  'brak';
}
return $wpis;
}

Użycie tej funkcji wygląda tak:

/**
* Uzycie funkcji pobierz_dmoz
* Wyswietlamy zawartosc po przez petle foreach
*/
$wpisy_z_dmoz = pobierz_dmoz($_GET['q']);
foreach ($wpisy_z_dmoz as $wpis_z_dmoz){
	echo $wpis_z_dmoz['title'];
	echo $wpis_z_dmoz['description'];
	echo $wpis_z_dmoz['link'];
}

Parser, który tu opisuje nie jest doskonały, ale ten tutorial nie jest o programowaniu. Podana funkcja służy zobrazowaniu pewnego algorytmu. Na pewno nie jest bezpieczna i optymalna, ale starałam się ją uprościć maksymalnie (dla początkujących) co wpłynęło na jakość kodu. Dodatkowo Dmoz często dla fraz złożonych nie zwraca wyników, sposobem ominięcia tego problemu jest rozbicie złożonej frazy na pojedyncze słowa i odpytywanie dla każdego słowa osobno, tak uzyskane wyniki za pomocą (prostej do napisania) funkcji mieszającej. Oczywiście najlepszym rozwiązaniem będzie zbudowanie klasy obsługującej DSW.

Ciekawe dodatki:

Na pewno każdy ma swoja listę funkcjonalności, o którą mógłby rozbudować swoje własne DSW (pomysły mile widziane). Podam kilka przykładowych, które pozwolą na rozrastanie (praktycznie w nieskończoność) się naszego generatora, jak również automatyczne zdobywanie

dodatkowych linków.

Tag Cloud (chmurka tagów) - Dość przydatna funkcjonalność na naszym DSW, jednak z tą drobną równicą, że my będziemy pobierać i wyświetlać nie tagi (znane z Web 2.0) , tylko słowa występujące w teksie ($wpis_z_dmoz['description'] i/lub $wpis_z_dmoz['title']) i sortować je pod kątem częstotliwości występowania (dobrą praktyką jest wyświetlanie słów większych niż 5 znaków). Każdy tag będzie linkiem odpytującym Dmoz. Dla przykładu dla zapytania "hosting" otrzymujemy (sortując 10 najczęściej występujących) dodatkowo słowa "provide, photo, image, friendly, design, directory, whois, businesses, offers, cpanel", może nie jest to mistrzostwo świata, ale przy odpowiedniej budowie dostajemy strony z automatu o tytule "image hosting, photo hosting, cpanel hosting" itd. Pozwala to na otrzymanie automatycznie dla jednego zapytania 10 dodatkowych stron tematycznych. Przy założeniu, że zbudujemy nasz DSW na sub-domenach tematycznych (np:100) w każdej sub-domenie po 1k słów kluczowych związanych z danym tematem, to daje nam całkiem pokaźna liczbę 100*1000*10 = 1 miliona stron tematycznych w ramach danej domeny. A przecież chmurka tagów może być generowana dla każdej strony, co daje nam nieskończona liczbę, co prawda im dalej od słowa kluczowego tym tagi są coraz mniej tematyczne.

Sitemap – Funkcjonalność dość dobrze opisana w sieci jak również na forum, dlatego nie będę jej opisywał. Dodam tylko, że na podstawie dość dobrze zbudowanej mapie (XML) strony, można w łatwy sposób zarządzać linkami, czy inna dodatkową zawartością jaką chcemy wyświetlać na naszym DSW, wystarczy w tym celu stworzyć prostą aplikację klient-serwer ,do której wczytamy naszą sitemapę DSW, a w samym DSW zaimplementować aplikację klienta. W praktyce oznacza to posiadanie własnego systemu wymiany linków, banerów lub reklam, czy czego tam się chce :), ogranicza nas tylko własna wyobraźnia.

RSS – jeśli już mamy zawartość w formacie tablicy (pisałem o tym wcześnie, zmienna $wpis), nie ma większego problemu ze stworzeniem własnego kanału rss, specyfikację można znaleźć w sieci. Rss daje dużo dodatkowych możliwości np.: dodatkowy content do własnych potrzeb, pingi itp.

Sub-domeny– nie będę pisał o sub-domenach, (coś musi zostać na następne tutoriale :), lub dla innych) i linkowaniu wewnętrznym. Napiszę tylko, że bez problemu uzyskujemy linkowanie tematyczne A-B-C.

Podsumowanie:

Na pewno jest sporo tematów jeszcze do poruszenia dających dodatkowe możliwości np: słowniki, mod_rewrite, linkowanie wewnętrzne, przyrost naturalny inne dodatkowe funkcjonalności. Na pewno każdy będzie miał coś ciekawego do powiedzenia ;). Uwagi i konstruktywna krytyka mile widziane. :)

Przydatne linki:

https://google.com/ - tu można znaleźć pomoc

https://pl.php.net/manual/pl/index.php - Podręcznik PHP

https://pl.php.net/manual/pl/ref.array.php - Tablice w PHP

https://pl.php.net/manual/pl/ref.pcre.php - Wyrażenia regularne w PHP

https://pear.php.net/ - Kilka na pewno przydatnych bibliotek

https://pear.php.net/package/Cache_Lite - Pear Cache Lite

https://pear.php.net/package/HTML_Template_IT - System szablonów

To chyba na tyle na początek i tak się rozpisałem.

Miłej zabawy! :)

"Dopiero gdy wolna wola znowu zaskoczyła, przerwali bieg po torze przeszkód ich własnej konstrukcji."

Odnośnik do komentarza
Udostępnij na innych stronach

Lepiej byś się zajął redagowaniem dmoza. Po co wbijać gwoździe do trumny i tak już mającego kłopoty katalogu. Bez obrazy ale to forum zaczyna ostatnio bardziej przypominać pozycjonowanie.pl , dlaczego od razu nie otworzyć działu "spamowanie"? Od kiedy tak się uczy początkujących, po najmniejszej linii oporu?

 ...

Odnośnik do komentarza
Udostępnij na innych stronach

zoreander do trumny ?

Bardzo dobrze że opisał. Niech parsują. Ja chętnie dopisze moduly chmurek tagów i tworzenie tagów na bazie przeparsowanego tekstu.

Bardzo dobrze że querty napisał coś takiego. I nikt nikogo nie uczy. Jak ktoś chce niech sobie zrobi inaczej.

Wyszukiwarki, Dmozy żyją dzieki stroną i treści znalezionej na nich - dlaczego strony nie mają mieć takiego prawda.

Skoro Google może pobierać treści i miec z tego zyski dlaczego robienie tego samego np za pomocą DMOZ ma być czymś bardziej złym.

Niech się karmią tym wyszkiwarki co same stworzyły. A stworzyły własnie to że ludzie chcą robić tak jak oni tylko na mniejszą skale.

Czy to spam ? - Nie bo zasady działania są takie same. A to że coś jest mniej przydatne - bo np rozwojowe.

Czy można przesądzić że katalogaaaa będzie gorszy od DMOZa czy dmoz odrazu był tak dobry.

Dlaczego webwweb nie uznać za lepszy.

Dla mnie to dmoz może paść a webwweb być jego PL odpowiedniekiem bo choć autor wie czego chce i wie że inni będą chcieli tego samego.

A DMOZ czy wyszukiwarki przyjeły sobie że prawo do tego typu działania mają tylko one :) - a no nie o czym się przekonają kiedy na ręczną moderacje wydawać będą coraz więcej z zysków. Bo narazie to albo robią to automaty albo ludzie w czynie społecznym.

QUERTY pomysł super - byle więcej takich ! :D

Odnośnik do komentarza
Udostępnij na innych stronach

ale jakiego generowanego skoro DMOZ :D na to pozwala.

Druga sprawa :) wyszukwiarka, czy katalog nawet stworzony w najlepszym celu jest generowany :) przez coś i kogoś.

Więc jedni mogą a inni nie mogą ;). Poprost querty dał narzedzie żeby każdy mógł mieć wyszukiwarko/katalog nie tylko duże portale i firmy.

Odnośnik do komentarza
Udostępnij na innych stronach

ale jakiego generowanego skoro DMOZ smile.gif na to pozwala.

Druga sprawa smile.gif wyszukwiarka, czy katalog nawet stworzony w najlepszym celu jest generowany smile.gif przez coś i kogoś.

Więc jedni mogą a inni nie mogą smile.gif. Poprost querty dał narzedzie żeby każdy mógł mieć wyszukiwarko/katalog nie tylko duże portale i firmy.

No cóż można i w ten sposób na to patrzeć :D

 ...

Odnośnik do komentarza
Udostępnij na innych stronach

@fhc - mam i to sporo, zrobione obiektowo dodatkowo, sporo innych funkcjonalności. Działa doskonale.

Moim celem było dać początek dyskusji :D, nie chcę dawać wszystkiego w wersji finalnej, bo po co? Wolałbym żeby to był początek końca hipokryzji ;).

Funkcjonalności dodatkowe są opisane, niech ludziska sami kombinują :), kiedyś trzeba zacząć sie uczyć :). Bardziej liczę na pomysły niż gotowce.

"Dopiero gdy wolna wola znowu zaskoczyła, przerwali bieg po torze przeszkód ich własnej konstrukcji."

Odnośnik do komentarza
Udostępnij na innych stronach

qwerty ja doskonale rozumiem dlaczego tak a nie inaczej właśnie robisz. Sam często pokazuje tylko próbki co można co byłoby warto by poprowadzić dyskusje a nie po to by dać pelne rozwiązania wraz z dodatkami.

Np fajną opcją byłoby dodać podobne wyszukiwane do danej kategorii/tago

coś jak to:

https://83.19.186.26/adam.php?zap=reklama

Odnośnik do komentarza
Udostępnij na innych stronach

Też mam trochę spamu umieszczonego w sieci, więc święty nie jestem, ale zgadzam się z Zoreanderem, sam spam niczego nie rozwiąże.... każda technika spamowania prędzej czy później zostanie zbanowana, więc mam 2 pytania :

- jestem straszliwie ciekaw, ile razy najbardziej doświadczeni użytkownicy tego forum MUSIELI zmieniać techniki spamowania, bo stare zostały zbanowane ?

- czy nie lepiej część czasu, który poświęcacie na spamowanie sieci, poświęcić na tworzenie wartościowych stron, których raczej nikt nigdy nie zbanuje ?

Na tym forum jestem zerem, ale jednak upchnąłem kilka stron na 1 miejsce w google, choćby na hasło napisy, wyprzedzając napisy.org i napisy.info (które ciągle działają i cały czas je wyprzedzam), więc mam radę dla nowych użytkowników - nie ulegajcie tej modzie na spamowanie, przynajmniej część stron powinna mieć sensowną zawartość, bo inaczej, któregoś pięknego dnia google założy nowe filtry, a Wy obudzicie się z ręką w nocniku i będziecie musieli kombinować nad nowym systemem spamującym :) i oczywiście pozycjonować strony od nowa ...

Wyszukiwarki napisów do filmów divx - było 14 , zgadnij, ile zostało ?

Napisy do filmów

Znajdź aforyzm dla Twojej kobiety, koleżanki, siostry, mamy, albo w ostateczności dla żony ( najlepiej czyjejś, hihi )

Cytaty wybierane przez kobietę ! będą pasować najlepiej.

Aforyzmy , Cytaty

Odnośnik do komentarza
Udostępnij na innych stronach

ale nie robi sie tylko złych stron.

Złe strony robi się szybko aby pozycjonować te dobre.

Nikt zapewnie nie robi tak by robic tylko złe bo jaki cel.

Najdłużej spam jaki mi sie utrzymał - 3 lata - jedna domena.

Czy działa do dziś - tak.

Choć potwierdze Twoje słowa - stawiac by stawiać nie, ale stawiać by wspomagać dobre tak.

Tym bardziej że postawienie 100 domen z czym tam takim jak dał querty przy automatyzacji zajmie z 30 min.

Odnośnik do komentarza
Udostępnij na innych stronach

Masz rację, ale na tym forum częściej sie mówi o tych niewartościowych stronach :)

jak ktoś nowy, nieobeznany tu wejdzie, gotów pomyśleć, ze wystarczy 100 qlweb'ów i kopia dmoz i cały net jego .....

Wyszukiwarki napisów do filmów divx - było 14 , zgadnij, ile zostało ?

Napisy do filmów

Znajdź aforyzm dla Twojej kobiety, koleżanki, siostry, mamy, albo w ostateczności dla żony ( najlepiej czyjejś, hihi )

Cytaty wybierane przez kobietę ! będą pasować najlepiej.

Aforyzmy , Cytaty

Odnośnik do komentarza
Udostępnij na innych stronach

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Umieściliśmy na Twoim urządzeniu pliki cookie, aby pomóc Ci usprawnić przeglądanie strony. Możesz dostosować ustawienia plików cookie, w przeciwnym wypadku zakładamy, że wyrażasz na to zgodę. Warunki użytkowania Polityka prywatności