aitech-eks-pub/cw/01_Wyszukiwarki-roboty.ipynb
2021-03-17 11:11:44 +01:00

10 KiB

Opracować w języku Haskell wyspecjalizowanego robota pobierającego dane z konkretnego serwisu.

Punkty: 80 (domyślnie - niektóre zadanie są trudniejsze, wówczas podaję osobno liczbę punktów)

Ogólne zasady:

  • pobieramy informacje (metadane) o plikach PDF, DjVU, JPG itp, ale nie same pliki,
  • nie pobierajmy całego serwisu, tylko tyle, ile trzeba, by pobrać metadane o interesujących nas zasobach,
  • interesują nas tylko teksty polskie, jeśli nie jest to trudne, należy odfiltrować publikacje obcojęzyczne,
  • staramy się ustalać datę z możliwie dużą dokładnością.

Sposób pracy:

  1. Pobrać Haskell Stack
curl -sSL https://get.haskellstack.org/ | sh -s - -d ~/bin

Na fizycznych komputerach wydziałowych są błędnie ustawione prawa dostępu na dyskach sieciowych, Haskell Stack musi działać na fizycznym dysku:

rm -rf /mnt/poligon/.stack
mkdir /mnt/poligon/.stack
mv ~/.stack ~/.stack-bak # gdyby już był... proszę się nie przejmować błędem
ln -s /mnt/poligon/.stack ~/.stack
  1. Pobrać repozytorium:
git clone https://git.wmi.amu.edu.pl/filipg/twilight-library.git
  1. Wypchnąć na początek do swojego repozytorium (trzeba sobie najpierw założyć to repozytorium na https://git.wmi.amu.edu.pl)
cd twilight-library
git remote set-url origin git@git.wmi.amu.edu.pl:YOURID/twilight-library
git push origin master
git remote add mother git://gonito.net/twilight-library
  1. Zobacz, czy przykładowy robot dla strony z „Alamanachem Muszyny” działa:
~/bin/stack install # może trwać długo za pierwszym razem
~/bin/stack exec almanachmuszyny

W razie problemów z instalacją:

sudo apt install libpcre3 libpcre3-dev
  1. Opracuj swojego robota wzorując się na pliku almanachmuszyny.hs. (Ale dodaj swój plik, nie zmieniaj almanachmuszyny.hs!)

  2. Dopisz specyfikację swojego robota do shadow-library.cabal.

  3. Pracuj nad swoim robotem, uruchamiaj go w następujący sposób:

~/bin/stack install
~/bin/stack exec mojrobot

(Tzn. nie nazywaj go „mojrobot”, tylko użyj jakieś sensownej nazwy.)

  1. Jeśli publikacja (np. pojedynczy numer gazety) składa się z wielu plików, powinien zostać wygenerowany jeden rekord, w finalUrl powinny znaleźć się URL do poszczególnych stron (np. plików JPR) oddzielone //.

  2. Po zakończeniu prac prześlij mejla do prowadzącego zajęcia z URL-em do swojego repozytorium.

Lista serwisów do wyboru (na każdy serwis 1 osoba):

  1. Teksty Drugie
  2. Archiwum Inspektora Pracy
  3. Medycyna Weterynaryjna — również historyczne zasoby od 1945 roku, 120 punktów
  4. Polskie Towarzystwo Botaniczne — wszystkie dostępne zdigitalizowane publikacje!, 130 punktow
  5. Wieści Pepowa — nie pominąć strony nr 2 z wynikami, 110 punktów
  6. Czasopismo Kosmos
  7. Czasopismo Wszechświat
  8. Czasopisma polonijne we Francji — najlepiej w postaci PDF-ów, jak np. https://argonnaute.parisnanterre.fr/medias/customer_3/periodique/immi_pol_lotmz1_pdf/BDIC_GFP_2929_1945_039.pdf, 220 punktów
  9. Muzeum Sztuki — czasopisma, 220 punktów, publikacje, teksty, czasopisma, wycinki
  10. Wiadomości Urzędu Patentowego
  11. Czas, czasopismo polonijne, 140 punktów S.G.
  12. Stenogramy Okrągłego Stołu, 110 punktów
  13. Nasze Popowice
  14. Czasopisma entomologiczne
  15. Wiadomości matematyczne, 120 punktow
  16. Alkoholizm i Narkomania
  17. Czasopismo Etyka, O.K.
  18. Skup makulatury, 250 punktów
  19. Hermes i https://chomikuj.pl/hermes50-2, 250 punktów
  20. E-dziennik Województwa Mazowieckiego 150 punktów
  21. Czasopismo Węgiel Brunatny
  22. Gazeta GUM
  23. Nowiny Andrychowskie
  24. Kawęczyniak
  25. Zbór Chrześcijański w Bielawia
  26. Gazeta Rytwiańska
  27. Nasze Popowice
  28. Echo Chełmka
  29. Głos Świdnika 100 punktów
  30. Aneks 90 punktów
  31. Teatr Lalel
  32. Biuletyn Bezpieczna Chemia
  33. Głos Maszynisty
  34. Kultura Paryska, całe archiwum z książkami i innymi czasopismami, 180 punktów
  35. Gazeta Fabryczna - Kraśnik 120 punktów
  36. Artykuły o Jujutsu
  37. Wycinki o Taekwon-Do
  38. Materiały o kolejnictwie 180 punktów
  39. Centralny Instytut Ochrony Pracy, znaleźć wszystkie publikacje typu http://archiwum.ciop.pl/44938, wymaga trochę sprytu 130 punktów
  40. Biblioteka Sejmowa - Zasoby Cyfrowe, 200 punktów
  41. Elektronika Praktyczna, te numery, które dostępne w otwarty sposób, np. rok 1993
  42. Litewska Akademia Nauk, tylko materiały w jęz. polskim, takie jak np. https://elibrary.mab.lt/handle/1/840, 170 punktów
  43. Litewska Biblioteka Cyfrowa, wyłuskać tylko materiały w jęz. polskim, 190 punktów
  44. Czasopisma Geologiczne, 120 punktów
  45. Czasopisma PTTK, 120 punktów
  46. Czasopisma Polskiego Towarzystwa Dendrologicznego, 100 punktów
  47. Kilka przedwojennych książek
  48. Historia polskiej informatyki - wyjątkowo bez datowania
  49. Zeszyty Formacyjne Katolickiego Stowarzyszenia „Civitas Christania”, tylko niektóre pliki można zdatować
  50. Józef Piłsudski Institute of America - 220 punktów
  51. Prasa podziemna — Częstochowa, również ulotki i inne materiały skanowane - 180 punktów
  52. Tajemnica Atari, plik ZIP z DjVu

F.A.Q.

P: Nie działają strony z protokołem https, co zrobić?

O: Trzeba użyć modułu opartego na bibliotece curl. Paczka Ubuntu została zainstalowana na komputerach wydziałowych. Na swoim komputerze możemy zainstalować paczkę libcurl4-openssl-dev, a następnie można sobie ściągnąć wersję twilight-library opartą na libcurl:

git fetch git://gonito.net/twilight-library withcurl
git merge FETCH_HEAD