Pozyskiwanie danych Web mining API
Wprowadzenie do “data science”
Wykład 2 - pozyskiwanie danych, analiza tekstu
dr in˙z. Julian Sienkiewicz
Pozyskiwanie danych Web mining API ´ Zródła danych ´ Zródła danych ´
Zródłami danych dla eksperymentów data science mog ˛a by´c:
transakcyjne bazy danych (bazy OLTP — On-Line Transactional Processing),
hurtownie danych (DWH - Data Warehouses), dokumenty w ró˙znych formatach (CSV, XLSX, XML),
pliki graficzne i multimedialne (BMP, PNG, AVI, MP3),
strony WWW, usługi sieciowe.
Wła´sciwie ka˙zde ´zródło danych mo˙ze by´c wykorzy-stane, o ile tylko mo˙zliwe jest przekształcenie pocho-dz ˛acych z niego danych do postaci tabelarycznej.
[Grafika pobrana z: https: //publish.illinois.edu/ frontiers- big- data- symposium/]
Pozyskiwanie danych Web mining API ´ Zródła danych ´ Zródła danych ´
Zródłami danych dla eksperymentów data science mog ˛a by´c:
transakcyjne bazy danych (bazy OLTP — On-Line Transactional Processing),
hurtownie danych (DWH - Data Warehouses),
dokumenty w ró˙znych formatach (CSV, XLSX, XML),
pliki graficzne i multimedialne (BMP, PNG, AVI, MP3),
strony WWW, usługi sieciowe.
Wła´sciwie ka˙zde ´zródło danych mo˙ze by´c wykorzy-stane, o ile tylko mo˙zliwe jest przekształcenie pocho-dz ˛acych z niego danych do postaci tabelarycznej.
[Grafika pobrana z: https: //publish.illinois.edu/ frontiers- big- data- symposium/]
Pozyskiwanie danych Web mining API ´ Zródła danych ´ Zródła danych ´
Zródłami danych dla eksperymentów data science mog ˛a by´c:
transakcyjne bazy danych (bazy OLTP — On-Line Transactional Processing),
hurtownie danych (DWH - Data Warehouses), dokumenty w ró˙znych formatach (CSV, XLSX, XML),
pliki graficzne i multimedialne (BMP, PNG, AVI, MP3),
strony WWW, usługi sieciowe.
Wła´sciwie ka˙zde ´zródło danych mo˙ze by´c wykorzy-stane, o ile tylko mo˙zliwe jest przekształcenie pocho-dz ˛acych z niego danych do postaci tabelarycznej.
[Grafika pobrana z: https: //publish.illinois.edu/ frontiers- big- data- symposium/]
Pozyskiwanie danych Web mining API ´ Zródła danych ´ Zródła danych ´
Zródłami danych dla eksperymentów data science mog ˛a by´c:
transakcyjne bazy danych (bazy OLTP — On-Line Transactional Processing),
hurtownie danych (DWH - Data Warehouses), dokumenty w ró˙znych formatach (CSV, XLSX, XML),
pliki graficzne i multimedialne (BMP, PNG, AVI, MP3),
strony WWW, usługi sieciowe.
Wła´sciwie ka˙zde ´zródło danych mo˙ze by´c wykorzy-stane, o ile tylko mo˙zliwe jest przekształcenie pocho-dz ˛acych z niego danych do postaci tabelarycznej.
[Grafika pobrana z: https: //publish.illinois.edu/ frontiers- big- data- symposium/]
Pozyskiwanie danych Web mining API ´ Zródła danych ´ Zródła danych ´
Zródłami danych dla eksperymentów data science mog ˛a by´c:
transakcyjne bazy danych (bazy OLTP — On-Line Transactional Processing),
hurtownie danych (DWH - Data Warehouses), dokumenty w ró˙znych formatach (CSV, XLSX, XML),
pliki graficzne i multimedialne (BMP, PNG, AVI, MP3),
strony WWW,
usługi sieciowe.
Wła´sciwie ka˙zde ´zródło danych mo˙ze by´c wykorzy-stane, o ile tylko mo˙zliwe jest przekształcenie pocho-dz ˛acych z niego danych do postaci tabelarycznej.
[Grafika pobrana z: https: //publish.illinois.edu/ frontiers- big- data- symposium/]
Pozyskiwanie danych Web mining API ´ Zródła danych ´ Zródła danych ´
Zródłami danych dla eksperymentów data science mog ˛a by´c:
transakcyjne bazy danych (bazy OLTP — On-Line Transactional Processing),
hurtownie danych (DWH - Data Warehouses), dokumenty w ró˙znych formatach (CSV, XLSX, XML),
pliki graficzne i multimedialne (BMP, PNG, AVI, MP3),
strony WWW, usługi sieciowe.
Wła´sciwie ka˙zde ´zródło danych mo˙ze by´c wykorzy-stane, o ile tylko mo˙zliwe jest przekształcenie pocho-dz ˛acych z niego danych do postaci tabelarycznej.
[Grafika pobrana z: https: //publish.illinois.edu/ frontiers- big- data- symposium/]
Pozyskiwanie danych Web mining API ´ Zródła danych ´ Zródła danych ´
Zródłami danych dla eksperymentów data science mog ˛a by´c:
transakcyjne bazy danych (bazy OLTP — On-Line Transactional Processing),
hurtownie danych (DWH - Data Warehouses), dokumenty w ró˙znych formatach (CSV, XLSX, XML),
pliki graficzne i multimedialne (BMP, PNG, AVI, MP3),
strony WWW, usługi sieciowe.
Wła´sciwie ka˙zde ´zródło danych mo˙ze by´c wykorzy-stane, o ile tylko mo˙zliwe jest przekształcenie pocho-dz ˛acych z niego danych do postaci tabelarycznej.
[Grafika pobrana z: https: //publish.illinois.edu/ frontiers- big- data- symposium/]
Pozyskiwanie danych Web mining API Zamiana danych
DANE
SUROWE
(bez struktury)
DANE
STABELARYZOWANE
(struktura)
Zamiana surowych danych na dane stabelaryzowane mo˙ze nast ˛epowa´c np. poprzez:wyszukanie okre´slonych wzorców (pattern) w tek´scie za pomoc ˛a wyra˙ze ´n regularnych (regular expressions),
u˙zycie metod analizy tekstu (text mining) w tym przetwarzania j ˛ezka naturalnego (natural language processing),
przekształcanie danych mo˙ze równie˙z dotyczy´c np. grafiki — w tym wypadku interesuje nas zapisanie ka˙zdego piksela w formie trójki (x , y , color ),
Pozyskiwanie danych Web mining API Zamiana danych
DANE
SUROWE
(bez struktury)
DANE
STABELARYZOWANE
(struktura)
Zamiana surowych danych na dane stabelaryzowane mo˙ze nast ˛epowa´c np. poprzez:wyszukanie okre´slonych wzorców (pattern) w tek´scie za pomoc ˛a wyra˙ze ´n regularnych (regular expressions),
u˙zycie metod analizy tekstu (text mining) w tym przetwarzania j ˛ezka naturalnego (natural language processing),
przekształcanie danych mo˙ze równie˙z dotyczy´c np. grafiki — w tym wypadku interesuje nas zapisanie ka˙zdego piksela w formie trójki (x , y , color ),
Pozyskiwanie danych Web mining API Zamiana danych
DANE
SUROWE
(bez struktury)
DANE
STABELARYZOWANE
(struktura)
Zamiana surowych danych na dane stabelaryzowane mo˙ze nast ˛epowa´c np. poprzez:
wyszukanie okre´slonych wzorców (pattern) w tek´scie za pomoc ˛a wyra˙ze ´n regularnych (regular expressions),
u˙zycie metod analizy tekstu (text mining) w tym przetwarzania j ˛ezka naturalnego (natural language processing),
przekształcanie danych mo˙ze równie˙z dotyczy´c np. grafiki — w tym wypadku interesuje nas zapisanie ka˙zdego piksela w formie trójki (x , y , color ),
Pozyskiwanie danych Web mining API Zamiana danych
DANE
SUROWE
(bez struktury)
DANE
STABELARYZOWANE
(struktura)
Zamiana surowych danych na dane stabelaryzowane mo˙ze nast ˛epowa´c np. poprzez:wyszukanie okre´slonych wzorców (pattern) w tek´scie za pomoc ˛a wyra˙ze ´n regularnych (regular expressions),
u˙zycie metod analizy tekstu (text mining) w tym przetwarzania j ˛ezka naturalnego (natural language processing),
przekształcanie danych mo˙ze równie˙z dotyczy´c np. grafiki — w tym wypadku interesuje nas zapisanie ka˙zdego piksela w formie trójki (x , y , color ),
Pozyskiwanie danych Web mining API Zamiana danych
DANE
SUROWE
(bez struktury)
DANE
STABELARYZOWANE
(struktura)
Zamiana surowych danych na dane stabelaryzowane mo˙ze nast ˛epowa´c np. poprzez:wyszukanie okre´slonych wzorców (pattern) w tek´scie za pomoc ˛a wyra˙ze ´n regularnych (regular expressions),
u˙zycie metod analizy tekstu (text mining) w tym przetwarzania j ˛ezka naturalnego (natural language processing),
przekształcanie danych mo˙ze równie˙z dotyczy´c np. grafiki — w tym wypadku interesuje nas zapisanie ka˙zdego piksela w formie trójki (x , y , color ),
Pozyskiwanie danych Web mining API Zamiana danych
DANE
SUROWE
(bez struktury)
DANE
STABELARYZOWANE
(struktura)
Zamiana surowych danych na dane stabelaryzowane mo˙ze nast ˛epowa´c np. poprzez:wyszukanie okre´slonych wzorców (pattern) w tek´scie za pomoc ˛a wyra˙ze ´n regularnych (regular expressions),
u˙zycie metod analizy tekstu (text mining) w tym przetwarzania j ˛ezka naturalnego (natural language processing),
przekształcanie danych mo˙ze równie˙z dotyczy´c np. grafiki — w tym wypadku interesuje nas zapisanie ka˙zdego piksela w formie trójki (x , y , color ),
Pozyskiwanie danych Web mining API Zamiana danych
DANE
SUROWE
(bez struktury)
DANE
STABELARYZOWANE
(struktura)
Zamiana surowych danych na dane stabelaryzowane mo˙ze nast ˛epowa´c np. poprzez:wyszukanie okre´slonych wzorców (pattern) w tek´scie za pomoc ˛a wyra˙ze ´n regularnych (regular expressions),
u˙zycie metod analizy tekstu (text mining) w tym przetwarzania j ˛ezka naturalnego (natural language processing),
przekształcanie danych mo˙ze równie˙z dotyczy´c np. grafiki — w tym wypadku interesuje nas zapisanie ka˙zdego piksela w formie trójki (x , y , color ),
Pozyskiwanie danych Web mining API Zamiana danych
DANE
SUROWE
(bez struktury)
DANE
STABELARYZOWANE
(struktura)
Zamiana surowych danych na dane stabelaryzowane mo˙ze nast ˛epowa´c np. poprzez:wyszukanie okre´slonych wzorców (pattern) w tek´scie za pomoc ˛a wyra˙ze ´n regularnych (regular expressions),
u˙zycie metod analizy tekstu (text mining) w tym przetwarzania j ˛ezka naturalnego (natural language processing),
przekształcanie danych mo˙ze równie˙z dotyczy´c np. grafiki — w tym wypadku interesuje nas zapisanie ka˙zdego piksela w formie trójki (x , y , color ),
Pozyskiwanie danych Web mining API
Zawarto´s´c, struktura i aktywno´s´c
Obecnie szczególnie istotne jest przetwarzanie danych z Internetu (web mi-ning). Mo˙zna je podzieli´c na nast ˛epuj ˛ace cz ˛esci: zawarto ´s ´c (web mining, struktur ˛e (web structure) oraz aktywno ´s ´c (web usage).
Zawarto ´s ´c Struktura Aktywno ´s ´c Forma danych • bez struktury
• ze struktur ˛a
struktura linków oddziaływania
Główne dane • tekst• hipertekst struktura linków • logi serwera• logi przegl ˛adarki
Reprezentacja
• bag of words, n-gram • wyra˙zenia, ontologie • relacje
graf • tabele relacyjne • graf Metody • uczenie maszynowe • statystyczne (np. NLP) dedykowane algorytmy • uczenie maszy-nowe • statystyczne • reguły asocja-cyjne
Pozyskiwanie danych Web mining API
Zawarto´s´c, struktura i aktywno´s´c
Obecnie szczególnie istotne jest przetwarzanie danych z Internetu (web mi-ning). Mo˙zna je podzieli´c na nast ˛epuj ˛ace cz ˛esci: zawarto ´s ´c (web mining, struktur ˛e (web structure) oraz aktywno ´s ´c (web usage).
Zawarto ´s ´c Struktura Aktywno ´s ´c Forma danych • bez struktury
• ze struktur ˛a
struktura linków oddziaływania
Główne dane • tekst• hipertekst struktura linków • logi serwera• logi przegl ˛adarki
Reprezentacja
• bag of words, n-gram • wyra˙zenia, ontologie • relacje
graf • tabele relacyjne • graf Metody • uczenie maszynowe • statystyczne (np. NLP) dedykowane algorytmy • uczenie maszy-nowe • statystyczne • reguły asocja-cyjne
Pozyskiwanie danych Web mining API
Zawarto´s´c, struktura i aktywno´s´c
Obecnie szczególnie istotne jest przetwarzanie danych z Internetu (web mi-ning). Mo˙zna je podzieli´c na nast ˛epuj ˛ace cz ˛esci: zawarto ´s ´c (web mining, struktur ˛e (web structure) oraz aktywno ´s ´c (web usage).
Zawarto ´s ´c Struktura Aktywno ´s ´c Forma danych • bez struktury
• ze struktur ˛a
struktura linków oddziaływania
Główne dane • tekst• hipertekst struktura linków • logi serwera• logi przegl ˛adarki
Reprezentacja
• bag of words, n-gram • wyra˙zenia, ontologie • relacje
graf • tabele relacyjne • graf Metody • uczenie maszynowe • statystyczne (np. NLP) dedykowane algorytmy • uczenie maszy-nowe • statystyczne • reguły asocja-cyjne
Pozyskiwanie danych Web mining API
Zawarto´s´c, struktura i aktywno´s´c
Obecnie szczególnie istotne jest przetwarzanie danych z Internetu (web mi-ning). Mo˙zna je podzieli´c na nast ˛epuj ˛ace cz ˛esci: zawarto ´s ´c (web mining, struktur ˛e (web structure) oraz aktywno ´s ´c (web usage).
Zawarto ´s ´c Struktura Aktywno ´s ´c Forma danych • bez struktury
• ze struktur ˛a
struktura linków oddziaływania
Główne dane • tekst• hipertekst struktura linków • logi serwera• logi przegl ˛adarki
Reprezentacja
• bag of words, n-gram • wyra˙zenia, ontologie • relacje
graf • tabele relacyjne • graf Metody • uczenie maszynowe • statystyczne (np. NLP) dedykowane algorytmy • uczenie maszy-nowe • statystyczne • reguły asocja-cyjne
Pozyskiwanie danych Web mining API
Zawarto´s´c, struktura i aktywno´s´c
Obecnie szczególnie istotne jest przetwarzanie danych z Internetu (web mi-ning). Mo˙zna je podzieli´c na nast ˛epuj ˛ace cz ˛esci: zawarto ´s ´c (web mining, struktur ˛e (web structure) oraz aktywno ´s ´c (web usage).
Zawarto ´s ´c Struktura Aktywno ´s ´c Forma danych • bez struktury
• ze struktur ˛a
struktura linków oddziaływania
Główne dane • tekst• hipertekst struktura linków • logi serwera• logi przegl ˛adarki
Reprezentacja
• bag of words, n-gram • wyra˙zenia, ontologie • relacje
graf • tabele relacyjne • graf Metody • uczenie maszynowe • statystyczne (np. NLP) dedykowane algorytmy • uczenie maszy-nowe • statystyczne • reguły asocja-cyjne
Pozyskiwanie danych Web mining API
Web scraping
Web scraping
Web scraping jest powi ˛azany zindeksowaniem stron WWW, które polega
na indeksowaniu informacji zawartej na stronach WWW za pomoc ˛a bota lub web crawlera. Technika ta została zaadoptowana w wi ˛ekszo´sci silników wy-szukuj ˛acych. W przeciwie ´nstwie do nich, web scraping skupia si ˛e bardziej na
przekształceniu niestrukturalnych danych ze stron WWW, zwykle w
forma-cie HTML, do postaci danych strukturalnych, które mo˙zna łatwo gromadzi´c i analizowa´c w centralnej lokalnej bazie danych lub arkuszu kalkulacyjnym.
Technikalia
r ˛ecznie, copy-paste (czasem nie da si ˛e inaczej), wyra˙zenia regularne (np. za pomoc ˛a grep),
u˙zycieparsera (np. Lambda Soup, ale generalnie ka˙zdy przyzwoity
j ˛ezyk ma biblioteki),
Pozyskiwanie danych Web mining API
Web scraping
Web scraping
Web scraping jest powi ˛azany zindeksowaniem stron WWW, które polega
na indeksowaniu informacji zawartej na stronach WWW za pomoc ˛a bota lub web crawlera. Technika ta została zaadoptowana w wi ˛ekszo´sci silników wy-szukuj ˛acych. W przeciwie ´nstwie do nich, web scraping skupia si ˛e bardziej na
przekształceniu niestrukturalnych danych ze stron WWW, zwykle w
forma-cie HTML, do postaci danych strukturalnych, które mo˙zna łatwo gromadzi´c i analizowa´c w centralnej lokalnej bazie danych lub arkuszu kalkulacyjnym.
Technikalia
r ˛ecznie, copy-paste (czasem nie da si ˛e inaczej),
wyra˙zenia regularne (np. za pomoc ˛a grep),
u˙zycieparsera (np. Lambda Soup, ale generalnie ka˙zdy przyzwoity
j ˛ezyk ma biblioteki),
Pozyskiwanie danych Web mining API
Web scraping
Web scraping
Web scraping jest powi ˛azany zindeksowaniem stron WWW, które polega
na indeksowaniu informacji zawartej na stronach WWW za pomoc ˛a bota lub web crawlera. Technika ta została zaadoptowana w wi ˛ekszo´sci silników wy-szukuj ˛acych. W przeciwie ´nstwie do nich, web scraping skupia si ˛e bardziej na
przekształceniu niestrukturalnych danych ze stron WWW, zwykle w
forma-cie HTML, do postaci danych strukturalnych, które mo˙zna łatwo gromadzi´c i analizowa´c w centralnej lokalnej bazie danych lub arkuszu kalkulacyjnym.
Technikalia
r ˛ecznie, copy-paste (czasem nie da si ˛e inaczej), wyra˙zenia regularne (np. za pomoc ˛a grep),
u˙zycieparsera (np. Lambda Soup, ale generalnie ka˙zdy przyzwoity
j ˛ezyk ma biblioteki),
Pozyskiwanie danych Web mining API
Web scraping
Web scraping
Web scraping jest powi ˛azany zindeksowaniem stron WWW, które polega
na indeksowaniu informacji zawartej na stronach WWW za pomoc ˛a bota lub web crawlera. Technika ta została zaadoptowana w wi ˛ekszo´sci silników wy-szukuj ˛acych. W przeciwie ´nstwie do nich, web scraping skupia si ˛e bardziej na
przekształceniu niestrukturalnych danych ze stron WWW, zwykle w
forma-cie HTML, do postaci danych strukturalnych, które mo˙zna łatwo gromadzi´c i analizowa´c w centralnej lokalnej bazie danych lub arkuszu kalkulacyjnym.
Technikalia
r ˛ecznie, copy-paste (czasem nie da si ˛e inaczej), wyra˙zenia regularne (np. za pomoc ˛a grep),
u˙zycieparsera (np. Lambda Soup, ale generalnie ka˙zdy przyzwoity
j ˛ezyk ma biblioteki),
Pozyskiwanie danych Web mining API
Web scraping
Web scraping
Web scraping jest powi ˛azany zindeksowaniem stron WWW, które polega
na indeksowaniu informacji zawartej na stronach WWW za pomoc ˛a bota lub web crawlera. Technika ta została zaadoptowana w wi ˛ekszo´sci silników wy-szukuj ˛acych. W przeciwie ´nstwie do nich, web scraping skupia si ˛e bardziej na
przekształceniu niestrukturalnych danych ze stron WWW, zwykle w
forma-cie HTML, do postaci danych strukturalnych, które mo˙zna łatwo gromadzi´c i analizowa´c w centralnej lokalnej bazie danych lub arkuszu kalkulacyjnym.
Technikalia
r ˛ecznie, copy-paste (czasem nie da si ˛e inaczej), wyra˙zenia regularne (np. za pomoc ˛a grep),
u˙zycieparsera (np. Lambda Soup, ale generalnie ka˙zdy przyzwoity
j ˛ezyk ma biblioteki),
Pozyskiwanie danych Web mining API
Przykład - strona ZTM
Zagadnienie: uzyskac sie´c transportu miejskiego w Warszawie.
Jak wida´c, w cz ˛e´sci dotycz ˛acej rozkładów jazdy mamy odno´sniki do ka˙zdej linii.
Pozyskiwanie danych Web mining API
Przykład - strona ZTM
Zagadnienie: uzyskac sie´c transportu miejskiego w Warszawie.
Jak wida´c, w cz ˛e´sci dotycz ˛acej rozkładów jazdy mamy odno´sniki do ka˙zdej linii.
Pozyskiwanie danych Web mining API
Przykład - strona ZTM
Pozyskiwanie danych Web mining API
Przykład - strona ZTM
U˙zywaj ˛ac opcji “Inspect” mo˙zemy podejrze´c jaki kod odpowiada konkretnym znacznikom.
Pozyskiwanie danych Web mining API
Przykład - strona ZTM
W efekcie dla ka˙zdej linii mo˙zna zbudowa´c nast ˛epuj ˛ac ˛a struktur ˛e:
numer linii: przystanek1 -> przystanek2 -> przystanek3 -> ....
124: 3089 -> 1287 -> 3456 -> 1245 -> ....
To z kolei daje nam pełn ˛a informacj ˛e dotycz ˛ac ˛a tego który przystanek ł ˛aczy si ˛e z którym, a co za tym idzie tworzy pełn ˛a sie´c.
W takiej sieci mo˙zna pokusi´c si ˛e o wyznaczenie statystyk: stopni wierzchołków (ilu s ˛asiadów ma ka˙zdy w ˛ezeł),
´sredniej drogi (ile trzeba korków, aby przej´s´c z jednego w ˛ezła do drugiego),
współczynnika gronowania (jakie jest prawdopodobie ´nstwo, ˙ze moich dwóch s ˛asiadów te˙z jest poł ˛aczonych),
Pozyskiwanie danych Web mining API
Przykład - strona ZTM
W efekcie dla ka˙zdej linii mo˙zna zbudowa´c nast ˛epuj ˛ac ˛a struktur ˛e:
numer linii: przystanek1 -> przystanek2 -> przystanek3 -> .... 124: 3089 -> 1287 -> 3456 -> 1245 -> ....
To z kolei daje nam pełn ˛a informacj ˛e dotycz ˛ac ˛a tego który przystanek ł ˛aczy si ˛e z którym, a co za tym idzie tworzy pełn ˛a sie´c.
W takiej sieci mo˙zna pokusi´c si ˛e o wyznaczenie statystyk: stopni wierzchołków (ilu s ˛asiadów ma ka˙zdy w ˛ezeł),
´sredniej drogi (ile trzeba korków, aby przej´s´c z jednego w ˛ezła do drugiego),
współczynnika gronowania (jakie jest prawdopodobie ´nstwo, ˙ze moich dwóch s ˛asiadów te˙z jest poł ˛aczonych),
Pozyskiwanie danych Web mining API
Przykład - strona ZTM
W efekcie dla ka˙zdej linii mo˙zna zbudowa´c nast ˛epuj ˛ac ˛a struktur ˛e:
numer linii: przystanek1 -> przystanek2 -> przystanek3 -> .... 124: 3089 -> 1287 -> 3456 -> 1245 -> ....
To z kolei daje nam pełn ˛a informacj ˛e dotycz ˛ac ˛a tego który przystanek ł ˛aczy si ˛e z którym, a co za tym idzie tworzy pełn ˛a sie´c.
W takiej sieci mo˙zna pokusi´c si ˛e o wyznaczenie statystyk: stopni wierzchołków (ilu s ˛asiadów ma ka˙zdy w ˛ezeł),
´sredniej drogi (ile trzeba korków, aby przej´s´c z jednego w ˛ezła do drugiego),
współczynnika gronowania (jakie jest prawdopodobie ´nstwo, ˙ze moich dwóch s ˛asiadów te˙z jest poł ˛aczonych),
Pozyskiwanie danych Web mining API
Pozyskiwanie danych Web mining API
Pozyskiwanie danych Web mining API
Wady i zalety API
Zwykle du˙zo łatwiejszym sposobem jest wykorzystanie tzw. API (interfejs programowania aplikacji, application programming interface), które umo˙zliwa bezposredni dost ˛ep do interesuj ˛acych nas danych.
Zalety API
dobrze okre´slone pola,
najcz ˛esciej mo˙zliwo´s´c wyboru konkretnego zakresu informacji, mniejsza liczba bł ˛edów, brak konieczno´sci przystosowywania kodu do nieprzewidzianych sytuacji,
zwykle dost ˛epne dla wielu j ˛ezyków w postaci bibliotek (np. Pyton, R, Julia, etc)
Wady API
mo˙zliwe złe zakodowanie informacji,
cz ˛esto ograniczona ilo´s´c danych do pobrania w okre´slonej jednostce czasu,
dystrybutorzy oprogramowania ograniczaj ˛a dost ˛ep do konkretnych danych (etyka)
Pozyskiwanie danych Web mining API
Wady i zalety API
Zwykle du˙zo łatwiejszym sposobem jest wykorzystanie tzw. API (interfejs programowania aplikacji, application programming interface), które umo˙zliwa bezposredni dost ˛ep do interesuj ˛acych nas danych.
Zalety API
dobrze okre´slone pola,
najcz ˛esciej mo˙zliwo´s´c wyboru konkretnego zakresu informacji, mniejsza liczba bł ˛edów, brak konieczno´sci przystosowywania kodu do nieprzewidzianych sytuacji,
zwykle dost ˛epne dla wielu j ˛ezyków w postaci bibliotek (np. Pyton, R, Julia, etc)
Wady API
mo˙zliwe złe zakodowanie informacji,
cz ˛esto ograniczona ilo´s´c danych do pobrania w okre´slonej jednostce czasu,
dystrybutorzy oprogramowania ograniczaj ˛a dost ˛ep do konkretnych danych (etyka)
Pozyskiwanie danych Web mining API
Przykład - API Facebooka
Poni˙zej przykład krótkiej analizy danych z Facebooka za pomoc ˛a biblio-teki Rfacebook do pakietu R. (niezb ˛edne jest utworzenie aplikacji pod FB https://developers.facebook.com).
load(’fboauth’) require(’Rfacebook’)
df <- searchPages(string=’fizyka’, token=fboauth, n = 100)
Pozyskiwanie danych Web mining API
Przykład - API Facebooka
Nast ˛epnie dla pierwszej strony pobieramy 100 opublikowanych postów (jest ich mniej — 86).
out2 <- getPage(page = df$id[1], token=fboauth, n= 100)
Dzi ˛eki temu mamy dost ˛ep do wielu pól:
from_id from_name message created_time type link id story likes_count comments_count shares_count
Pozyskiwanie danych Web mining API
Przykład - API Facebooka
Nast ˛epnie u˙zywamy bibiotek tm (text mining) oraz wordcloud (do wizuali-zacji chmury słów). library(tm) library(wordcloud) docs <-Corpus(VectorSource(out2$message)) dtm <- TermDocumentMatrix(docs) v <- sort(rowSums(as.matrix(dtm)), decreasing=T)
d <- data.frame(word = names(v), freq = v) wordcloud(words = d$word, freq = d$freq, min.freq = 1, max.words=200,
random.order=FALSE, rot.per=0.35, colors=brewer.pal(8, "Dark2"))
Pozyskiwanie danych Web mining API
Przykład - API Facebooka
Nast ˛epnie u˙zywamy bibiotek tm (text mining) oraz wordcloud (do wizuali-zacji chmury słów). library(tm) library(wordcloud) docs <-Corpus(VectorSource(out2$message)) dtm <- TermDocumentMatrix(docs) v <- sort(rowSums(as.matrix(dtm)), decreasing=T)
d <- data.frame(word = names(v), freq = v) wordcloud(words = d$word, freq = d$freq, min.freq = 1, max.words=200,
random.order=FALSE, rot.per=0.35, colors=brewer.pal(8, "Dark2"))
Pozyskiwanie danych Web mining API
Przykład - API Facebooka
Podobnie mo˙zemy wykre´sli´c liczbe likeów od czasu, zaznaczaj ˛ac konretne typy postów (event, photo, link).