Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Wstęp do Informatyki - Wykład 14

Podobne prezentacje


Prezentacja na temat: "Wstęp do Informatyki - Wykład 14"— Zapis prezentacji:

1 Wstęp do Informatyki - Wykład 14
Web scraping

2 Motywacja działań W wielu przypadkach chcielibyśmy mieć program, który automatycznie pobiera z Internetu różne treści, np.: informacje kontaktowe dane hoteli tekst (do analiz lingwistycznych) oceny produktów (do analiz marketingowych) ...

3 Python - pobranie treści strony
import urllib2 response = urllib2.urlopen(" page_source = response.read() print page_source test.py

4 Python - pobranie treści strony
Tak pobrana strona jest przechowywana w zmiennej stringowej page_source w formie HTML. Co możemy dalej zrobić z tym tekstem? Możemy go przeszukać!

5 Python - co wypisze ten program?
import urllib2, re response = urllib2.urlopen(" page_source = response.read() print re.findall(r"https?://[a-z\.]+", page_source) test.py

6 Pobieranie danych z wielu podstron
Spróbujmy czegoś innego. Wyzwanie - znaleźć jak najwięcej nazw telewizorów dostępnych na rynku. Pomysł - trzeba wykorzystać portal ceneo.pl. Wyszukajmy na nim telewizorów. Sprawdźmy, jaki adres mają poszczególne podstrony:

7 Pobieranie danych z wielu podstron

8 Pobieranie danych z wielu podstron
Pobierzmy jedną podstronę i zobaczmy, gdzie szukać nazw telewizorów: import urllib2, re response = urllib2.urlopen(" page_source = response.read() print page_source test.py

9 Pobieranie danych z wielu podstron
... data-source-tag="">LG 43LH500T</a> </strong> wyjście

10 Pobieranie danych z wielu podstron
Widzimy, że nazwa telewizora występuje zawsze po data-source-tag="">, a przed </a> Stwórzmy odpowiednie wyrażenie regularne:

11 Pobieranie danych z wielu podstron
import urllib2, re response = urllib2.urlopen(" page_source = response.read() print re.findall(r'data-source-tag="">([A-Za-z0-9 ]+)</a>', page_source) test.py Funkcja findall zwróci tylko tekst “złapany” w nawiasy, bez kontekstu.

12 Pobieranie danych z wielu podstron
Dokończmy zatem skrypt. Ściągnijmy 5 podstron, wyciągnijmy z nich nazwy telewizorów. Wyciągnięte nazwy będziemy zapisywać na liście telewizory. Na koniec, zamienimy tę listę na zbiór (set), aby pozbyć się możliwych duplikatów.

13 Pobieranie danych z wielu podstron - wersja końcowa
import urllib2, re telewizory = [] for i in range(5): response = urllib2.urlopen(" % i) page_source = response.read() telewizory += re.findall(r'data-source-tag="">([A-Za-z0-9 ]+)</a>', page_source) print set(telewizory) test.py

14 Piękna zupa

15 Piękna zupa

16 Beautiful Soup Jest to ciekawy moduł Pythonowy do parsowania HTML-a. Spójrzmy na oficjalny tutorial:

17 Budowanie korpusów tekstów
Korzystając ze wspomnianych narzędzi możemy zbudować korpusy tekstów na potrzeby badań lingwistycznych. Przykład - CommonCrawl:

18 Budowanie korpusów tekstów
Szczególnie cennym zasobem lingwistycznym są tzw. korpusy równoległe. Są to zbiory par zdań postaci (zdanie źródłowe, zdanie przetłumaczone). Aby skonstruować korpus równoległy można ręcznie przetłumaczyć tekst…. ...ale można też użyć metod NLP.

19 Budowanie korpusów tekstów
Po pierwsze, należy znaleźć teksty wraz z tłumaczeniami. Gdzie ich szukać? wielojęzyczne strony internetowe, instrukcje obsługi, patenty, tłumaczenia dokumentów, ... W ten sposób uzyskujemy zbiór par dokumentów. Taki zbiór nazywa się często korpusem porównywalnym (comparable corpus).

20 Budowanie korpusów tekstów
Następnym krokiem jest podział tekstów na zdania (segmenty), czyli proces segmentacji. Najlepiej użyć do tego splittera opartego na tzw. regułach SRX (np. Otrzymujemy wtedy dwa ciągi zdań - w języku źródłowym i docelowym. Ostatnim krokiem jest tzw. urównoleglenie. Najlepsze do tego może okazać się narzędzie hunalign (

21 Pobieranie wideo z YouTube
Istnieje bardzo ciekawy moduł Pythona, który służy do pobierania filmików z popularnego serwisu YouTube. Moduł nazywa się PyTube.

22 Pobranie wideo z YouTube
import pytube yt = pytube.YouTube(" video = yt.filter('mp4')[-1] video.download(r"C:\") test.py

23 Pobranie wideo z YouTube
Funkcja filter zwraca listę filmików w zadanym formacie. Sztuczka [-1] służy do wybrania ostatniego filmiku, czyli tego w najwyższej jakości.

24 Dziękuję za uwagę!


Pobierz ppt "Wstęp do Informatyki - Wykład 14"

Podobne prezentacje


Reklamy Google