Professional Documents
Culture Documents
PRZYKADOWY ROZDZIA
SPIS TRECI
KATALOG KSIEK
KATALOG ONLINE
ZAMW DRUKOWANY KATALOG
TWJ KOSZYK
DODAJ DO KOSZYKA
CENNIK I INFORMACJE
ZAMW INFORMACJE
O NOWOCIACH
ZAMW CENNIK
CZYTELNIA
FRAGMENTY KSIEK ONLINE
Wydawnictwo Helion
ul. Chopina 6
44-100 Gliwice
tel. (32)230-98-63
e-mail: helion@helion.pl
Spis treci
O Autorach....................................................................................................................................... 7
Wstp.............................................................................................................................................. 13
Rozdzia 1. agodne wprowadzenie ............................................................................................ 17
1.
2.
3.
4.
5.
6.
7.
Spis treci
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
Spis treci
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
Spis treci
Spis treci
1.
ROZDZIA PIERWSZY
agodne wprowadzenie
Sposoby 1. 7.
W sieci s obecnie ponad trzy miliardy stron, wic kady eglarz cyberprzestrzeni wczeniej czy pniej musi zada sobie dwa pytania: gdzie znale co wartociowego i co
mona z tym zrobi? Kady ma wasne pojcie o tym, co jest wartociowe, wikszo
ludzi ma te rne dobre pomysy o tym, jak takie rzeczy wykorzysta. S takie zaktki
sieci, w ktrych przeksztacanie danych do innych celw prowadzi do nagych olnie,
a to z kolei staje si pocztkiem nagej eksplozji nowych danych.
Z punktu widzenia sieci dopiero niedawno pojawiy si pierwsze narzdzia uatwiajce
korzystanie z powszechnie dostpnych danych. Kiedy serwis Google udostpni swoje
serwisy wyszukiwawcze za porednictwem interfejsw API (zajrzyj do ksiki Google
Hacks), podobny krok szybko zrobi Amazon.com (zajrzyj do Amazon Hacks); w jednym
i drugim wypadku owocem tych decyzji byo pojawienie si nowych narzdzi. W tym
krtkim i przyjemnym rozdziale przedstawimy Czytelnikom eleganck sztuk zbierania
danych i uywania pajkw: czym ona jest, a czym nie jest, co jest zwykle dozwolone,
a co niesie ze sob ryzyko. Powiemy, jak szuka alternatywnych metod dostpu do interesujcych danych i jak pozyska sobie przychylno autorw witryn (a tak naprawd to
przekaza im pewn wiedz), ktrzy na nasz automatyzacj patrz niechtnie.
SPOSB
1.
17
SPOSB
1.
cae strony, pliki lub ich zbiory, za programy zbierajce jako programy suce do pobierania wybranych fragmentw danych z caych plikw. Przykadowo, jeden z pajkw
[Sposb 44.], omawianych w tej ksice, przeznaczony jest do pobierania caych pakietw
(kolekcji) wiadomoci z Yahoo! Group, a nastpnie do przeksztacania ich w pliki poczty
elektronicznej, tak aby mona byo odczytywa je w programie pocztowym. Z kolei jeden
z programw zbierajcych [Sposb 76.] suy do pobierania ze stron danych o rozkadzie
jazdy pocigw. Pajki poruszaj si po hiperczach, zbierajc dane, natomiast programy zbierajce wybieraj ze stron informacje. Jedne i drugie s zwykle uywane cznie:
mona uywa programu wykorzystujcego pajka do poruszania si po czach, by potem
za pomoc programu zbierajcego wybiera jedynie interesujce dane.
Czemu pajki?
Poznajc jakkolwiek technologi czy sposb uycia technologii, zawsze dobrze jest zada
sobie wane pytanie: dlaczego? Dlaczego trudzi si pajkami? Po co marnowa czas na
pisanie pajka, testowanie go, uzyskiwanie zezwolenia od waciciela strony na jego uycie,
udostpnianie go innym i opiek nad jego kodem? Ot warto: kiedy raz zacznie si stosowa pajki, potem trudno wyobrazi sobie, jak mona byo si dotd bez nich obej.
Uzyskiwanie automatycznego dostpu do zasobw
Oczywicie, mona codziennie odwiedza kad interesujc nas stron, ale czy nie
prociej byoby napisa odpowiedni program, ktry wybraby jedynie interesujce
nas dane? Jeli pajk zwrci wyniki najczciej wykonywanego poszukiwania
w Google, mona zaoszczdzi mnstwo czasu, energii i unikn wielokrotnego
powtarzania tej samej pracy. Im bardziej prace bd zautomatyzowane, tym wicej
czasu mona bdzie powici uywaniu tych danych.
Zbieranie informacji i prezentowanie ich w formacie alternatywnym
Wyniki bada marketingowych, zbierane w formie wynikw, zwracane przez
wyszukiwark, mona zaimportowa do arkusza Microsoft Excel w celu pniejszej
ich prezentacji czy analizowania [Sposb 93.] Mona skopiowa swoje ulubione
archiwa Yahoo! Groups w takiej postaci, ktr program pocztowy bdzie w stanie
odczyta, tak jak odczytuje kady inny folder pocztowy [Sposb 43.] Mona
na bieco ledzi zawarto najciekawszych witryn bez koniecznoci pacenia
za kolejne wizyty [Sposb 81.] Kiedy ju mamy w rku interesujce nas dane,
mona je przeksztaca, zmienia ich ukad, formatowa wedle woli.
Agregowanie osobnych rde danych
adna witryna nie jest samotn wysp, cho nie jest to tak oczywiste, jeli wzi pod
uwag trudno rcznego integrowania danych z rnych witryn. Uycie pajkw
automatyzuje to mudne zadanie na przykad pomaga analizowa zmieniajce
si stopniowo wyniki Google [Sposb 93.] czy czy uzupeniajce si dane
[Sposb 69.] z rnych dziennikw w pojedynczy pakiet RSS. Pajki mona
przystosowa do zbierania danych zarwno z rnych rde, jak i z jednego
rda w rnych okresach.
18
agodne wprowadzenie
SPOSB
2.
Aby tworzony pajk by skuteczny i tak przydatny, jak tylko to moliwe, trzeba podczas
jego tworzenia pamita o kilku zasadniczych kwestiach.
Jeli wanie tytu nas interesuje, to danymi brzegowymi s znaczniki <title> i </title>.
agodne wprowadzenie
19
2.
SPOSB
2.
Regularnie naley sprawdza wyniki uzyskiwane od pajka, aby upewni si, e s one
zgodne z oczekiwaniami [Sposb 31.]. Moliwie szybko naley uwzgldnia wszelkie
zmiany, aby si nie pogubi, poza tym, projektujc pajka, naley uczyni go moliwie
elastycznym [Sposb 32.]
20
agodne wprowadzenie
SPOSB
agodne wprowadzenie
21
2.
SPOSB
2.
czy innej firmy, pod ktr si podszywamy. Ewentualne konsekwencje takiego postpowania omwimy w podrozdziale Ostronie z uyciem pajka [Sposb 6.]
Udostpnianie informacji o pajku. Warto przygotowa stron internetow z informacjami o stworzonym pajku oraz z danymi kontaktowymi. Strona ta powinna by oczywicie widoczna w ulubionej przegldarce. W podrozdziale Rejestrowanie pajka
[Sposb 4.] omwione zostan sposoby informowania innych o istnieniu pajka.
Nie wymagaj zbyt wiele. Stworzenie nawet najdoskonalszej aplikacji od chwili pojawienia
si w Google programu PageRank niewiele znaczy, poniewa to i tak administrator strony
decyduje o prawach dostpu do niej czy do jej poszczeglnych obszarw. Naley uprzejmie prosi o taki dostp, nie za kategorycznie go da. Dzielmy si swoimi dowiadczeniami: by moe warto nawet przedstawi stworzony kod! W kocu przecie chcemy
pobiera z ich strony informacje. Udostpnienie programu w zamian za informacje jest
uczciwym postawieniem sprawy.
22
agodne wprowadzenie
SPOSB
Niestety, wydaje si, e atwiej jest powiedzie, czego nie mona zaakceptowa, ni poda
jaki rozsdny limit. Dla osb cierpliwych jedno czy dwa dania na sekund wystarcz;
intensywniejsze pobieranie danych moe spowodowa furi waciciela strony. Zrobi
mona wszystko, byle by na to czas; jeli dane nie s potrzebne natychmiast, stopniowym ich pobieraniem moe zaj si pajk. Wicej szczegw na ten temat znajduje si
w podrozdziale Ograniczanie zajmowanego pasma [Sposb 16.]
Tyle, ile trzeba i wtedy, kiedy trzeba. Nadmierne pobieranie to po prostu branie wicej
danych ni trzeba i przez to zajmowanie szerszego pasma ni jest to niezbdne. Jeli potrzebna jest strona, naley pobra stron. Nie wolno wtedy pobiera caego katalogu ani
(niech Bg broni!) caej witryny.
To samo dotyczy czasu. Nie naley pobiera strony czciej ni jest to konieczne. Jeli program z danymi z takiej strony bdzie uruchamiany raz dziennie, wystarczy te dane raz
dziennie pobra. Nie zaleca si pobierania danych czciej ni raz na godzin, jeli nie
jest to absolutnie niezbdne (cho i tak wymagana jest wtedy zgoda waciciela strony).
SPOSB
3.
agodne wprowadzenie
23
3.
SPOSB
3.
I to tyle. Taki jest oglny zarys 99% stron HTML znajdujcych si w sieci. Strony te mog
by o wiele bardziej rozbudowane, ale oglna zasada jest wanie taka. Co to oznacza dla
naszych pajkw? Oznacza to, e tylko jeden fragment informacji jest wyranie oznakowany: tytu strony. Jeli potrzebny by nam tylko tytu, znalelimy to, o co nam chodzio.
Jeli jednak potrzebne s nam dane z treci strony, na przykad nagwek czy data, jeszcze
sporo pracy przed nami. Niejednokrotnie tre strony zawiera kilka tabel, kod JavaScript
i inne fragmenty kodu utrudniajce dotarcie do tego, co nas interesuje; wszystkie te niedogodnoci w znacznie wikszym stopniu wi si z formatowaniem, a nie z organizacj
danych. Z drugiej jednak strony jzyk HTML zawiera pewne standardowe metody organizowania danych. Niektre z nich powoduj powikszenie pewnych informacji na ekranie
jako nagwkw. Inne su do zestawiania danych w listy. Zrozumienie sposobu dziaania tych metod uatwi wybieranie informacji ukrytej gboko w strukturze strony.
24
agodne wprowadzenie
SPOSB
agodne wprowadzenie
25
3.
SPOSB
4.
Rejestrowanie pajka
SPOSB
4.
Rejestrowanie pajka
Jeli planujemy uycie jakiego pajka, musimy si choby w minimalnym stopniu upewni, e atwo
go bdzie zidentyfikowa. Nawet najprostszy pajk moe by przedmiotem intensywnego zainteresowania.
26
agodne wprowadzenie
SPOSB
Rejestrowanie pajka
agodne wprowadzenie
27
4.
SPOSB
5.
Przedstawiamy si
SPOSB
5.
Przedstawiamy si
Zamiast czeka, a kto naszego pajka wykryje, niech pajk przedstawi si sam!
Niezalenie od tego, jak dyskretny i ostrony jest nasz pajk, wczeniej czy pniej zostanie zauwaony. Niektrzy administratorzy witryn zechc sprawdzi, do czego pajk suy
i zechc uzyska odpowiedzi na szereg innych pyta. Zamiast czeka na to, co si stanie,
czemu nie wzi spraw w swoje rce i samemu si nie przedstawi? Zastanwmy si, jak
mona si do tego zabra, jak swojego pajka popiera i jak informowa o nim innych.
Nawizywanie kontaktu
Skoro napisalimy doskonaego pajka, czemu si nim nie pochwali w witrynie? W przypadku maych witryn jest to wzgldnie proste: wystarczy odszuka cze Feedback, Kontakt,
About czy temu podobne. W przypadku wikszych witryn jednak znalezienie osoby
odpowiedniej do nawizania kontaktu staje si trudniejsze. Najpierw naley sprawdzi
kontakty techniczne, dopiero potem kontakty zwyke. Okazuje si, e najlepiej w miar
monoci unika kontaktw z dziaami public relations (PR). Wprawdzie atwo si z nimi
skontaktowa, gdy zwykle to ich adresy s najbardziej widoczne, ale osoby z tych
dziaw najchtniej rozmawiaj z pras, poza tym rzadko maj na tyle du wiedz
techniczn, aby zrozumie, o co ich pytamy (do osb z dziaw PR: prosimy tego nie
traktowa jako lekcewaenia; i tak was kochamy; promujcie nadal ksiki wydawnictwa
OReilly buziaczki, autorzy).
Jeli naprawd trudno znale jakikolwiek rozsdny kontakt, mona sprbowa poniszych trzech krokw:
1. Wiele witryn, szczeglnie powiconych zagadnieniom technicznym, ma pracownikw
zajmujcych si dziennikami. Warto sprawdzi, czy uda si te dzienniki znale
za pomoc wyszukiwarki Google. Jeli na przykad interesuj nas pracownicy Yahoo!,
dobrze sprawdzi si zapytanie "work for yahoo" (weblog | blog). Czasami
mona si z tymi wanie osobami skontaktowa i dogada si, wtedy oni s w stanie
przekaza list do osoby wadnej prob speni lub jako inaczej odpowiedzie.
2. W 99,9% przypadkw zadziaa adres webmaster@ (na przykad webmaster@przykladowa.
witryna.com). Nie zawsze jednak mona zakada, e osoba, korzystajca z tej skrzynki,
czyta j czciej ni raz na miesic, a bywa jeszcze gorzej.
3. Jeli ju nic nie dziaa, nie sposb znale adresw poczty elektronicznej, a listy
wysyane na adres webmaster@ wracaj z powrotem, warto zajrze do witryny
powiconej rejestracji domen, jak http://www.whois.org. Zwykle mona tam znale
przy adresie domeny jaki adres kontaktowy, cho znowu nie ma adnych gwarancji,
e skrzynka tak jest w ogle sprawdzana, a nawet e nie zostaa ju usunita. Poza
tym pamita trzeba, e dziaa to jedynie na poziomie domen najwyszego poziomu.
Innymi sowy by moe uda si uzyska kontakt z adresem www.przykladowy.com,
ale ju nie www.przykladowy.com/zasob/.
28
agodne wprowadzenie
SPOSB
Przedstawiamy si
Kwestie prawne
Mimo nawizania kontaktw, uzyskania pozwolenia i udostpnienia mnstwa informacji
o pajku w sieci, jego dziaanie nadal moe budzi pewne wtpliwoci. Czy pajk jest legalny? Czy uycie go nie pocignie za sob kopotw?
Jeli chodzi o prawa dotyczce sieci, to istnieje jeszcze wiele kwestii otwartych i sdziowie, eksperci i naukowcy, nie mwic ju o zwykych uytkownikach, nie s zgodni co
do wielu zagadnie. Uzyskanie pozwolenia i przestrzeganie jego warunkw pozwoli
unikn licznych kopotw, szczeglnie w przypadku maych witryn (utrzymywanych
przez pojedyncze osoby, a nie przez wielkie korporacje). Jeli dziaamy bez uzyskania
pozwolenia, natomiast warunki uycia witryny nie s wyranie okrelone, ryzyko stosowania pajka jest ju wiksze. Podobne ryzyko istnieje zwykle w przypadku dziaania
w witrynach, w ktrych nie zapytalimy o pozwolenie, a ktre oferuj interfejs API i maj
jasno okrelone zasady uycia (jak Google).
Warunki prawne uywania internetu stale si zmieniaj: medium to jest po prostu zbyt
nowe, aby mogy istnie w nim niezmienne warunki, okrelajce, co jest dopuszczalne,
a co nie. Nie chodzi tylko o to, jak pajk dziaa, ale te o to, co moe zbiera. Autorzy pragn ostrzec, e stosowanie jednego z opisanych w ksice sposobw wykorzystywania
pajka nie oznacza, e nie wie si to z takim czy innym ryzykiem i e aden administrator nie uzna tego za naruszenie jego praw lub praw innych podmiotw.
agodne wprowadzenie
29
5.
SPOSB
6.
6.
Poniewa celem naszej ksiki jest pokazanie, jak pobiera dane niedostpne dla interfejsu API, czasami moe si okaza, e dziaamy w szarej strefie. Oto kilka porad, ktre
bd pomocne w unikniciu zablokowania nas lub nawet zaskarenia.
By moe pewnego dnia po odwiedzeniu jakiej strony znajdziemy na niej wspaniae
dane, ktre bardzo chcielibymy posi. Zanim jednak zabierzemy si za ich pobieranie,
warto rozejrze si za zasadami dopuszczalnego uycia (ang. Acceptable Use Policy, AUP)
lub warunkami wiadczenia usug (ang. Terms of Service, TOS); czasami mog to by te
warunki uycia (ang. Terms of Use, TOU). W takich dokumentach przeczyta mona, co
jest w witrynie dopuszczalne i co wolno zrobi z danymi z tej witryny. Zwykle na dole
strony znajduje si hipercze do strony z informacjami o prawach autorskich. Odpowiednie hipercze w witrynie Yahoo! nazywa si Terms of Reference i jest przy samym kocu strony gwnej, natomiast w witrynie Google hipercze to znajduje si na dole strony
About. Jeli odpowiedniego cza nie uda si znale na stronie gwnej, warto przeszuka wszelkie strony About. Czasami witryny, szczeglnie te mniejsze, nie maj w ogle
odpowiednich zapisw, naley wic skontaktowa si z administratorem, niemale zawsze
dostpnym pod adresem webmaster@nazwa.witryny.com, i zapyta o zgod.
Tak wic mamy ju AUP czy TOS. Czego waciwie szukamy? Czegokolwiek, co dotyczy uywania pajkw i automatycznego zbierania danych. W przypadku aukcji eBay
wszystko jest jasne, gdy wynika z poniszego wyjtku z umowy:
Uytkownicy zgadzaj si nie uywa robotw, pajkw, programw zbierajcych dane
ani innych automatw do korzystania z Witryny w adnym wypadku, o ile nie uzyskaj
naszej pisemnej zgody.
Jasne, prawda? Czasami jednak nie jest to tak wyranie opisane. Niektre umowy nie maj
adnych odniesie do pajkw czy programw zbierajcych dane. W takich wypadkach
naley skontaktowa si z administratorem lub pracownikami technicznymi i spyta.
30
agodne wprowadzenie
SPOSB
RSS formalnie nie jest stron sieciow, ale autorzy witryny i tak mog takie dziaania
uzna za niedopuszczalne. Nic nie zakazuje wacicielom takiej witryny zmieni zapisy
TOS, tak aby uniemoliwi dziaanie pajka z jednoczesnym wysaniem nam zakazu
dalszego prowadzenia naszej dziaalnoci.
Pomimy na chwil wszystkie te zastrzeenia. Nie namawiamy oczywicie nikogo do
naruszania warunkw wiadczenia usug, wykcania si z prawnikami i tak dalej. Warunki wiadczenia usug czemu przecie su; zwykle s w nich opisane zasady, ktrych
przestrzeganie pozwala na utrzymanie strony. Cokolwiek robi nasz pajk, musi to robi
tak, aby nie utrudnia normalnego funkcjonowania wykorzystywanej strony. Jeli pajk
pobierze wszystkie informacje z witryny utrzymywanej z reklam, niemoliwe bdzie
dalsze korzystanie z tej metody finansowania, a wwczas co si stanie? Strona zniknie.
Nie bdzie strony, wic nasz pajk te nie bdzie mia gdzie dziaa.
Wprawdzie rzadko ma to zwizek z uywaniem pajkw, ale przypomnijmy, e ju od
dawna panuje zgoda co do tego, e framing danych jest prawnie niedopuszczalny. Framing
danych polega na tym, e czyja witryna jest umieszczana w cudzej ramce (w wyniku
tego czyje dane pojawiaj si pod inn mark). Strona zwykle zawiera reklamy, z ktrych
kto si utrzymuje; pobieranie treci strony pajkiem i wstawianie we wasne strony z ramkami jest niewtpliwie niedopuszczalne i nie naley tego robi.
Agregowanie danych
Agregowanie danych polega na zbieraniu danych z rnych rde i zestawianiu ich wszystkich razem. Wyobramy sobie witryn zawierajc ceny biletw rnych linii lotniczych
albo witryn umoliwiajc porwnywanie cen z rnych ksigarni internetowych. W internecie dziaaj ju serwisy skupiajce rne dane; stanowi one swoist szar stref internetowej etykiety. Niektre firmy wyranie nie ycz sobie gromadzenia ich danych i porwnywania ich z danymi z innych stron (na przykad aby porwnywa ceny sklepowe), dla
innych firm nie ma to adnego znaczenia. Istniej firmy, ktre podpisuj umowy okrelajce
zasady skupiania ich informacji! Rzadko tego typu informacje ujmowane s w warunkach
wiadczenia usug, wic w razie wtpliwoci trzeba pyta.
agodne wprowadzenie
31
6.
SPOSB
6.
Wywiad gospodarczy
Waciciele niektrych witryn maj za ze, e ich konkurenci pobieraj za pomoc pajkw
dane dostpne publicznie, przez dowoln przegldark, i wykorzystuj je do uzyskania
przewagi na rynku. Mona si z takim stanowiskiem zgadza lub nie, ale pozostaje faktem, e tego typu dziaania byy ju przedmiotem sporw prawnych; za uycie takiego
pajka firma eBay oskarya Bidders Edge (http://pub.bna.com/lw/21200.htm).
Nadanie za prawem
Aby by na bieco z zagadnieniami, zwizanymi z prawnymi aspektami pobierania informacji, warto uy wyszukiwarki Blawg (http://blawg.detod.com/), ktra indeksuje jedynie
dzienniki sieciowe powicone kwestiom prawnym. Mona zastosowa takie hasa, jak
spider, scraper czy spider lawsuit. Osoby szczeglnie zainteresowane tym tematem powinny wiedzie, e wyniki dziaania Blawg dostpne s te w formie pakietw RSS,
ktre mog by uywane w zwykych systemach zbierajcych i prezentujcych wiadomoci. Mona, korzystajc ze sposobw podanych w tej ksice, uruchomi wasne pakiety
RSS dotyczce wasnoci intelektualnej.
Inne miejsca, w ktrych mona znale aktualne informacje o stanie prawnym, to: Slashdot
(http://slashdot.org/search.pl?topic=123), popularne miejsce spotka rnego rodzaju dziwakw; Electronic Freedom Foundation (http://www.eff.org) fundacja, ktrej strony powicone s prawu cyfrowemu, oraz dziaajca w Harwardzkiej Szkole Prawa organizacja
Berkman Center for Internet & Society (http://cyber.law.harvard.edu/home/), publikujca program badawczy powicony cyberprzestrzeni i zwizanym z ni zagadnieniom.
32
agodne wprowadzenie
SPOSB
7.
agodne wprowadzenie
33
7.
SPOSB
7.
34
agodne wprowadzenie
SPOSB
Z drugiej strony dugie numery identyfikacyjne, takie jak katalog numerw LOC czy ISBN,
bd daway znacznie mniej lub wcale nie bd daway bdnych wynikw wyszukiwania. Im duszy i bardziej skomplikowany jest numer identyfikacyjny, tym lepiej nadaje
si do automatycznego wyszukiwania i pobierania danych.
agodne wprowadzenie
35
7.