slajdy do wykładu I - Filip Graliński / UAM

Transkrypt

slajdy do wykładu I - Filip Graliński / UAM
Filip
Graliński
Inteligentne systemy
informacyjne
Wyszukiwarki
Filip
Graliński
Inteligentne systemy
informacyjne
Wyszukiwarki
Technikalia
system wyszukiwania informacji
budowa wyszukiwarki
Wyszukiwarki
URL-e
Wyszukiwarki
URL-e
Wyszukiwarki
robot
pliki
URL-e
Wyszukiwarki
robot
A może niczego nie pobierać?
. . . Internet na dyskietce:
I
korpus CommonCrawl
I
I
cały korpus (https://commoncrawl.org/the-data/) –
przetwarzanie na AWS
w postaci wielkiego pliku tekstowego
(http://statmt.org/ngrams/) – 59 GB skompresowanego
czystego tekstu dla języka polskiego (2012 r.)
I
ClueWeb09 – 1 mld stron w 10 języków (bez polskiego. . . ),
$380 za 2 dyski 3 TB
I
WaCKy – angielski, francuski, niemiecki, włoski (2009)
I
zrzuty Wikipedii (Wikipedia dumps)
co brać?
czego
nie brać?
pliki
URL-e
Wyszukiwarki
robot
ODP
co brać?
czego
nie brać?
pliki
URL-e
Wyszukiwarki
robot
<? xml v e r s i o n=” 1 . 0 ” e n c o d i n g=”UTF−8” ?>
<RDF x m l n s : r=” h t t p : //www. w3 . o r g /TR/RDF/ ”
x m l n s : d=” h t t p : // p u r l . o r g / dc / e l e m e n t s / 1 . 0 / ”
x m l n s=” h t t p : //dmoz . o r g / r d f / ”>
<T o p i c r : i d =”Top/ A r t s / A n i m a t i o n ”>
< c a t i d>423945</ c a t i d>
< l i n k 1 r : r e s o u r c e=” h t t p : //www. awn . com/ ” />
< l i n k r : r e s o u r c e=” h t t p : // a n i m a t i o n . a b o u t . com/ ” />
...
</ T o p i c>
<E x t e r n a l P a g e a b o u t=” h t t p : //www. awn . com/ ”>
< d : T i t l e>A n i m a t i o n World Network</ d : T i t l e>
< d : D e s c r i p t i o n>P r o v i d e s i n f o r m a t i o n r e s o u r c e s
t o t h e a n i m a t i o n community . </ d : D e s c r i p t i o n>
< p r i o r i t y>1</ p r i o r i t y>
<t o p i c>Top/ A r t s / A n i m a t i o n</ t o p i c>
</ E x t e r n a l P a g e>
<E x t e r n a l P a g e a b o u t=” h t t p : // a n i m a t i o n . a b o u t . com/ ”>
< d : T i t l e>About . com: A n i m a t i o n G u i d e</ d : T i t l e>
...
Google
hacking
ODP
co brać?
czego
nie brać?
pliki
URL-e
Wyszukiwarki
robot
Jak szukać materiałów dwujęzycznych?
I
się "English version"
I
inurl:lang=pl
I
inurl:lang=en site:pl
I
zdecydowali decided
I
"słowa kluczowe" keywords
Jak szukać dziurawych stron?
I
d*** site:gov.pl
I
filetype:pdf intitle:sciema
I
intitle:settings filetype:pdf site:gov.pl
I
pesel filetype:xls kaczmarek
I
"index of" "last modified" "parent directory"
apache
I
6d932c406fa15164ee48ff5a52f81dae
Projekt 1
Opracować aplikację webową do półautomatycznego
systematycznego zbierania interesujących wyników Google
hackingu:
I
użytkownik podaje zapytanie
I
możliwe użycie list wyrazów np. wulgaryzmy, wyrażenia
potoczne, „wypełniacze” („bla bla”, „foo bar”), system
powinien wtedy generować serię zapytań
I
aplikacja odpytuje wyszukiwarkę Google (i, być może, inne)
I
aplikacja zbiera wyniki i przedstawia je użytkownikowi
I
użytkownik taguje wyniki jako interesujące / nieinteresujące
I
zapytania mogą być uruchamiane cyklicznie, użytkownik nie
musi ponownie przeglądać otagowanych już wyników
I
aplikacja pozwala wylistować wszystkie wyniki oznaczone do
tej pory jako interesujące
Google
hacking
inne???
ODP
co brać?
czego
nie brać?
pliki
URL-e
Wyszukiwarki
robot
Google
hacking
inne???
ODP
robots.txt
co brać?
czego
nie brać?
pliki
URL-e
Wyszukiwarki
robot
User−a g e n t : ∗
D i s a l l o w : / c g i −b i n /
Disallow : / private /
D i s a l l o w : / v t i −b i n /
D i s a l l o w : / v t i −c n f /
D i s a l l o w : / v t i −l o g /
D i s a l l o w : / images /
User−a g e n t : s z u k a c z
Disallow : /
User−a g e n t : B a i D u S p i d e r
Disallow : /
User−a g e n t : Python− u r l l i b
Disallow : /
Projekt 2
Opracować wyszukiwarkę plików robots.txt.
I
pobrać robots.txt dla (prawie) wszystkich polskich stron
WWW
I
umożliwić wyszukiwanie i sortowanie według wszystkich
możliwych pól (blokowana wyszukiwarka, adres, komentarz,
długość pliku itd.)
I
opracować miary pozwalające automatycznie wyłuskać
„ciekawe” pliki robots.txt (długość, występowanie pełnych
linków, odmienność od innych plików robots.txt); umożliwić
sortowanie/filtrowanie według tej miary
Google
hacking
inne???
ODP
robots.txt
co brać?
nofollow
czego
nie brać?
pliki
URL-e
Wyszukiwarki
robot
Google
hacking
inne???
ODP
robots.txt
co brać?
nofollow
czego
nie brać?
pliki
URL-e
Wyszukiwarki
robot
spam
ODP
robots.txt
co brać?
nofollow
czego
nie brać?
pliki
spam
URL-e
Wyszukiwarki
wget
aria2c
gotowce
robot
pliki
URL-e
Wyszukiwarki
wget
aria2c
gotowce
robot
urllib
biblioteki
HtmlUnit
WebClient webClient = new WebClient();
HtmlPage page = webClient.getPage("http://ceti.pl/?ceti=administ
HtmlForm form = page.getForms().get(2);
HtmlTextInput loginField = form.getInputByName("login");
loginField.setValueAttribute("atrapa");
HtmlPasswordInput passField = form.getInputByName("pass");
passField.setValueAttribute("haslo1");
HtmlImageInput button = form.getInputByValue("OK");
HtmlPage page2 = (HtmlPage)button.click();
HtmlPage page3 = webClient.getPage("https://tau4.ceti.pl/cgi-bin
System.out.println(page3.asXml());
UnexpectedPage page4 = webClient.getPage("https://adm.tau4.ceti.
InputStream istr = page4.getInputStream();
pliki
URL-e
Wyszukiwarki
wget
HTML
aria2c
gotowce
robot
urllib
biblioteki
HtmlUnit
Tak czy siak – XPath
XPath – język służący do adresowania części dokumentu XML.
/html/body/div/p pełna ścieżka do wszystkich akapitów
wewnątrz głównych elementów <DIV>
//div/p wszystkie akapity w jakichkolwiek elementach <DIV>
//a/@href wartości atrybutu href dla wszystkich linków
//p[@id=’foo’]/img[5] piąty (indeksowanie od 1!) obrazek
wewnątrz akapitu o identyfikatorze foo
//p[img]/a linki w akapitach zawierających obrazek
Czym się różni:
I
//img[3] od (//img)[3] ?
I
//p[img]/a od //p[//img]/a ?
pliki
URL-e
Wyszukiwarki
wget
HTML
aria2c
gotowce
poprawność
kodowanie
znaków
robot
urllib
biblioteki
HtmlUnit
pliki
URL-e
Wyszukiwarki
PDF
wget
HTML
aria2c
gotowce
poprawność
kodowanie
znaków
robot
urllib
biblioteki
HtmlUnit
pliki
URL-e
Wyszukiwarki
PDF
wget
HTML
aria2c
gotowce
pdftotext
poprawność
kodowanie
znaków
robot
urllib
biblioteki
HtmlUnit
pliki
URL-e
Wyszukiwarki
PDF
wget
HTML
aria2c
gotowce
pdftotext
poprawność
kodowanie
znaków
robot
urllib
biblioteki
ąćęłńóśźż??
HtmlUnit
DOC
pliki
URL-e
antiword
Wyszukiwarki
PDF
wget
HTML
aria2c
gotowce
pdftotext
poprawność
kodowanie
znaków
robot
urllib
biblioteki
ąćęłńóśźż??
HtmlUnit