Recent Changes - Search:

Oktatás

* Programozás 2
  + feladatsor
  + C feladatsor
  + Python feladatsor
  + GitHub oldal

* Szkriptnyelvek
  + feladatsor
  + quick link

* Adator. prog.
  + feladatsor
  + quick link

Teaching

• Prog. for Data Sci.
  ▸ exercises
  ▸ quick link

teaching assets


Félévek

* 2026/27/1
* archívum


Linkek

* kalendárium
* tételsorok
* jegyzetek
* szakdolgozat / PhD
* ösztöndíjak
* certificates
* C lang.
* C#
* D lang.
* Java
* Nim
* Nim2
  + exercises
* XC=BASIC
* old
  ✦C++, ✦Clojure, ✦Scala


[ edit | logout ]
[ sandbox | passwd ]

Py /

20120902a

Rukkola happlista

A következő feladatot annak ajánlom, aki aktívan használja a rukkola könyvcserélő oldalt. (Aki nem tudja, hogy mi is ez, az itt olvashat utána.)

Feladat

Az aktualitások → happolnád pont alatt megtekinthető azon könyvek listája, amiket szeretnénk megszerezni. Ennek az oldalnak az URL-je valahogy így néz ki: http://rukkola.hu/felhasznalok/<user_id>/konyvek/olvasasra_jeloltek . Írjunk egy szkriptet (web scraper-t), mely kinyeri a HTML oldalból (vagy oldalakból, ha a könyvek listája nem fér el egy oldalon) a könyvek szerzőjét és címét. A kinyert információt jelenítsük meg a standard kimeneten a köv. formában (példa):

1) Eric S. Raymond: The Art of Unix Programming (1 happolná)
2) Frank Schätzing: Raj (13 happolná)
3) Arthur C. Clarke: A végső bizonyítás (4 happolná)
4) Arthur C. Clarke: Arthur C. Clarke teljes Űrodisszeia univerzuma (21 happolná)
5) Arthur C. Clarke: Mélység (5 happolná)
...
============================================================
30) Neal Stephenson: Gyémántkor (11 happolná)
31) Kurt Vonnegut: Macskabölcső (11 happolná)
32) Roger Zelazny: A Fény Ura (9 happolná)
33) Isaac Asimov: Asimov teljes Alapítvány – Birodalom – Robot univerzuma... (15 happolná)
...rodalom__robot_univerzuma_iii_
34) Isaac Asimov: Asimov teljes Alapítvány – Birodalom – Robot univerzuma... (13 happolná)
...irodalom__robot_univerzuma_ii_

Figyeljünk a következőkre:

  • Ha sok könyvet happolnánk, akkor azok több HTML oldalon jelennek meg. Dolgozzuk fel valamennyi HTML oldalt, ezeket a kimenetben '===…' jellel válasszuk el egymástól.
  • A könyveket sorszámozzuk be.
  • A szerző és a cím mellett azt is tüntessük fel, hogy hányan happolnák az adott könyvet.
  • Ha a cím túl hosszú, akkor a rukkola levágja a cím végét (lásd az utolsó két példát). Ebben az esetben írassuk ki a könyvre mutató link utolsó 30 karakterét is, ez alapján ui. ki tudjuk találni a könyv teljes címét.

Segítség

HTML oldalakban lévő adatok kinyerésére használjuk a BeautifulSoup Python könyvtárat. Ubuntu alatt a "sudo pip install beautifulsoup" paranccsal tudjuk telepíteni. A HTML oldalak ilyetén való feldolgozását "web scraping"-nek hívjuk.

A BeautifulSoup mellett népszerű könyvtár még az lxml is. A BeautifulSoup használata egyszerűbb, az lxml viszont gyorsabb.

Frissítés (20121005)

A BeautifulSoup könyvtárnak már van 4-es verziója is. A 3-ast nem fejlesztik tovább, új projektekhez már a 4-est javasolják. A BS4 dokumentációja itt tekinthető meg. A feladathoz így inkább a BS4 használatát javaslom.

Cloud City

  

Blogjaim, hobbi projektjeim

* The Ubuntu Incident
* Python Adventures
* @GitHub
* heroku
* extra
* haladó Python
* YouTube listák


Debrecen | la France


[ edit ]

Edit - History - Print *** Report - Recent Changes - Search
Page last modified on 2012 October 06, 00:37