Skip to content

Commit

Permalink
čerstvý crawl a scraping + komplet refaktorizace herectva
Browse files Browse the repository at this point in the history
  • Loading branch information
michalkasparek committed May 28, 2023
1 parent 5682f8f commit 4bd1c17
Show file tree
Hide file tree
Showing 40 changed files with 293,475 additions and 235,693 deletions.
9,497 changes: 1,073 additions & 8,424 deletions 001 procrawlování Filmového přehledu.ipynb

Large diffs are not rendered by default.

75,056 changes: 31,950 additions & 43,106 deletions 002 stažení Filmového přehledu.ipynb

Large diffs are not rendered by default.

71,885 changes: 35,678 additions & 36,207 deletions 010 scrapování všech person.ipynb

Large diffs are not rendered by default.

477 changes: 240 additions & 237 deletions 011 čištění a export všech person.ipynb

Large diffs are not rendered by default.

10,286 changes: 5,653 additions & 4,633 deletions 012 scrapování filmů (a žen).ipynb

Large diffs are not rendered by default.

2,192 changes: 1,147 additions & 1,045 deletions 013 čištění a export filmů.ipynb

Large diffs are not rendered by default.

5,348 changes: 5,348 additions & 0 deletions 015 scrapování rolí.ipynb

Large diffs are not rendered by default.

668 changes: 0 additions & 668 deletions 015 čistění a export herectva.ipynb

This file was deleted.

38,268 changes: 0 additions & 38,268 deletions 016 scrapování herectva.ipynb

This file was deleted.

1,514 changes: 1,514 additions & 0 deletions 016 čistění a export rolí.ipynb

Large diffs are not rendered by default.

9,224 changes: 4,630 additions & 4,594 deletions 018 scraping použité hudby.ipynb

Large diffs are not rendered by default.

9,138 changes: 4,585 additions & 4,553 deletions 019 scrapování hraje-mluví.ipynb

Large diffs are not rendered by default.

9,204 changes: 4,614 additions & 4,590 deletions 021 scraping písní.ipynb

Large diffs are not rendered by default.

17,257 changes: 8,536 additions & 8,721 deletions 901 celkový přehled.ipynb

Large diffs are not rendered by default.

6,266 changes: 2,894 additions & 3,372 deletions 902 herectvo aka Nesmrtelná teta.ipynb

Large diffs are not rendered by default.

427 changes: 217 additions & 210 deletions 902b písně.ipynb

Large diffs are not rendered by default.

12,781 changes: 6,293 additions & 6,488 deletions 903 tvůrcovstvo aka Král Vávra.ipynb

Large diffs are not rendered by default.

563 changes: 57 additions & 506 deletions 903b kariérní zlomy.ipynb

Large diffs are not rendered by default.

6,273 changes: 5,911 additions & 362 deletions 904 demografie a diverzita.ipynb

Large diffs are not rendered by default.

704 changes: 336 additions & 368 deletions 905b lokace.ipynb

Large diffs are not rendered by default.

20 changes: 10 additions & 10 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,28 +1,28 @@
Scraping a analýza dat o 125 letech českého filmu pro články na serveru iROZHLAS.cz.
Datová analýza 125 let českého filmu pro články na serveru iROZHLAS.cz.

Data pocházejí z [Filmového přehledu](https://filmovyprehled.cz/), autoritativní databáze spravované Národním filmovým archivem. Pro bližší informace o datových položkách viz [vysvětlivky této databáze](https://www.filmovyprehled.cz/cs/clanek/vysvetlivky-a-zkratky):
Data jsou oscrapovaná z [Filmového přehledu](https://filmovyprehled.cz/), autoritativní databáze spravované Národním filmovým archivem. Pro bližší informace o datových položkách viz [vysvětlivky této databáze](https://www.filmovyprehled.cz/cs/clanek/vysvetlivky-a-zkratky):

> Jako primární zdroj informací při zpracování slouží jednotlivé filmy, pokud jsou dochované a dostupné na filmových kopiích, negativech nebo v digitální podobě ve sbírkách Národního filmového archivu. Čerpáno bylo z úvodních i závěrečných titulků, pokud možno původních, a zhlédnutím celého snímku.
Doplnění těchto údajů dále probíhá ze sekundárních zdrojů. Těmi jsou myšleny například distribuční listy, presskity, tiskové zprávy, plakáty, údaje od distributorů a samotných producentů, zákonná nabídková a oznamovací povinnost, cenzurní spisy, ministerské věstníky, internetová média, mapy, databáze, literární a technické scénáře, titulkové, dialogové a honorářové listiny, herecké smlouvy, výrobní listy, filmový a nefilmový soudobý tisk i časopisy, fotografie, reklamní materiály, ročenky, memoárové knihy, rozhovory s tvůrci a pamětníky, filmografické práce, publikace o filmařích a hercích, soupisové a obrazové publikace, literární předlohy, tiskové a novinářské konference a projekce, archivní prameny, zahraniční zdroje, soudobé mapy a řada dalších.

Struktura sešitů:
## Struktura sešitů

- Od č. 001 do č. 099 stahujeme a čistíme data. Z posloupnosti se vymykají sešity od 090 do 099, které doplňují a kontrolují informace v již oscrapovaných a vyčištěných dataframech a ukládají je pro další kolo čištění. To je však při naklonování repozitáře pro vlastní pokusy jedno, stačí ručně rozbalit ZIPy ve složce `data a začít až notebooky s explorací od čísla 100 výš. Získáte tím přístup k doposud nejčistějším datům. (Oscrapováno na jaře 2023.)
- Od č. 001 do č. 099 scrapujeme a čistíme data; zásadní jsou při tom notebooky do č. 016. Z posloupnosti se vymykají sešity od 090 do 099, které doplňují a kontrolují informace v již oscrapovaných a vyčištěných dataframech a ukládají je pro další kolo čištění. To je však při naklonování repozitáře pro vlastní pokusy jedno, stačí ručně rozbalit ZIPy ve složce `data` a začít až notebooky s explorací od čísla 100 výš.

- Sešity od č. 100 do ??? zachycují exploraci – je pravděpodobné, že vzhledem k opravám datasetů a refaktorizaci funkcí nebude část z nich fungovat. I kdyby fungovaly, od výsledků jejich výpočtů dávám ruce pryč, protože jsem některé z nich opustil kvůli nalezeným chybám, které jsem se jal opravovat a k notebookům už jsem se pak často vůbec nevrátil. Zveřejňuji pouze pro inspiraci.
- Sešity od č. 100 do hypotetického č. 899 zachycují exploraci. Vzhledem k opravám datasetů a refaktorizaci funkcí nebude při opětovném spuštění část z nich fungovat. I kdyby fungovaly, od výsledků jejich výpočtů dávám ruce pryč, protože jsem některé z nich opustil kvůli nalezeným chybám, které jsem se jal opravovat a k notebookům už jsem se pak často vůbec nevrátil. Zveřejňuji pouze pro inspiraci.

- Podstatné jsou sešity od č. 900 výše – obsahují co nejpřesnější možné výpočty, následně použité v článcích na iROZHLAS.cz.

Další praktické informace:
## Další praktické informace

Data byla naposledy oscrapována 27. 5. 2023.

***Pozor***: Oscrapované a pročištěné dataframy nejsou ekvivalentní k originální databázi Filmového přehledu, a to z několika důvodů:

- Dataframe `filmy.json` pro jednodnost používá jména lidí tak, jak jsou uvedena na jejich profilu, ne v podobě z titulků či distribučních materiálů.

- Některé informace ve `filmy.json` chybí (výrobní společnosti bez vlastního profilu na stránkách FP), jiné jsou upravené (ve jménech chybí příznak "/ž" a některé akademické tituly).
- Některé informace ve `filmy.json` chybí (výrobní společnosti bez vlastního profilu na stránkách FP), jiné jsou upravené (ve jménech chybí příznak "/ž/" a některé akademické tituly).

- Je možné, že se některé detaily některých filmů oscrapovaly chybně a ani několik desítek člověkohodin práce s datasetem k odhalení těchto chyb nevedly.

- Dataframe `persony.json` vyzobává jen některá vyznamenání; několik jednotlivých životopisných údajů je v něm doplněno či opraveno z jiných zdrojů.

Herectvo lze analyzovat dvěma způsoby. Méně preferovaný, zato jednodušší je nahrát dataframe `herectvo.json`, kde jsou však jen herci a herečky s vlastním ID a profilem na Filmovém přehledu. S tímto dataframe dává smysl pracovat tam, kde potřebujeme informace o rolích. Ve většině případů je vhodnější nahrát dataframe `filmy.json` a pracovat se sloupcem `Hrají`, protože v něm jsou i lidé, kteří se nedočkali vlastního profilu v databázi Filmového přehledu. Biografické údaje lze (nejen k herectvu) doplnit z dataframe `persony.json`.
- Několik jednotlivých životopisných údajů v dataframe `persony.json` je doplněno z jiných zdrojů.
Loading

0 comments on commit 4bd1c17

Please sign in to comment.