Buszując po internecie – najczęściej w serwisach informacyjnych, różnego rodzaju portalach, itp. – znajduję mnóstwo nazwisk. Czy to polityków, czy osób z showbiznesu, czy jeszcze innych. Nie wiem, czy to tylko moja przypadłość, ale gdy nie kojarzę dokładniej danego nazwiska (chociażby z tego powodu, że telewizję oglądam sporadycznie) lub chcę się dowiedzieć, kim ta osoba jest – najczęściej zaglądam do Wikipedii i czytam informację o tej osobie. Nie zawsze jednak mi się chcę, co jednak wywołuje u mnie głód wiedzy: trudno mi się skoncentrować na reszcie artykułu.
I tak sobie myślę: czy dałoby się w prosty sposób wyławiać z kodu strony nazwiska oraz czynić te znalezione odnośnikami do strony w Wikipedii? Od strony ideowej jest to dość proste.
Otóż – gdy mamy kod strony, a dostęp do takowego na pewno mają rozszerzenia w Firefoksie – wystarczy przeszukać stronę za pomocą wyrażeń regularnych pod kątem występowania najczęstszej postaci nazwisk: spacja – duża litera – małe litery – spacja – duża litera – małe litery – spacja. Postanowiłem to sprawdzić grepem i rzeczywiście dla następującego wyrażenia: [[:space:]][[:upper:]][[:lower:]]*[[:space:]][[:upper:]][[:lower:]]*[[:space:]]
znajdywanie nazwisk jest dość skuteczne. Przykładowo, dla dwóch losowych stron z któregoś portalu internetowego dostaję:
[dandys@localhost ~]$ grep -o [[:space:]][[:upper:]][[:lower:]]*[[:space:]][[:upper:]][[:lower:]]*[[:space:]] Desktop/1.php
Dariusza Rosatiego
Janusz Onyszkiewicz
Rzeczypospolitej Polska
Niemiec Carl
Andrzeja Szczypiorskiego
Zbigniewa Herberta
[dandys@localhost ~]$ grep -o [[:space:]][[:upper:]][[:lower:]]*[[:space:]][[:upper:]][[:lower:]]*[[:space:]] Desktop/2.php
Sejmu Stefana
Donald Tusk
Unii Europejskiej
Unii Demokratycznej
Anna Bikont
Jerzego Turowicza
Portret Stefana
Markiem Jurkiem
Marka Jurka
Jan Rokita
Unii Demokratycznej
Porozumienia Centrum
Unii Demokratycznej
Henryka Goryszewskiego
Polskiej Partii
Jerzy Robert
Jest tam parę niepasujących wyników, jednak i to byłoby do przejścia, gdyby pomijać takie przypadki i również tworzyć je jako linki.
Gdy już mamy te wyrażenia, należałoby wrzucić je w Google w celu pominięcia fleksji (wpisanie np. “Marka Jurka” w wyszukiwarkę z Wikipedii nie zawsze kierowałoby na stronę o Marku Jurku). Jednak to już kwestia wrzucenia: WYRAŻENIE site:pl.wikipedia.org
w Google i użycie “Szczęśliwego trafu” doprowadzi nas do pożądanej strony.
To tyle teorii, dopiero teraz zaczynają się schody. Otóż pięknie byłoby mieć takie rozszerzenie w Firefoksie, jednak zupełnie nie mam pojęcia o ich tworzeniu. Jeżeli pomęczy mnie to dłużej, to spróbuję się trochę podszkolić w tym względzie. A może coś takiego już istnieje?