Oktatás * Programozás 2 * Szkriptnyelvek * levelezősök Félévek Linkek * kalendárium |
Py /
20170514asteamdb.info/sales A https://steamdb.info/sales/ oldalról szedjük le a játékok címét, árát, ill. értékelését. Itt most csak egy részleges megoldást nézünk meg. Ezen poszt írásakor így nézett ki az oldal teteje: Keressük meg az első játék adatait a HTML forrásban: A releváns rész pirossal lett megjelölve. Mint látható, egy-egy játék adatai egy-egy V1 Menjünk végig az összes játékot tartalmazó import bs4 import requests URL = "https://steamdb.info/sales/" def main(): r = requests.get(URL) bs = bs4.BeautifulSoup(r.text, "lxml") for tr in bs.find_all('tr', class_='appimg'): title_tag = tr.find('a', class_='b') title = title_tag.text print(title) main() A HTML forrás 618. sorában látható, hogy a Kimenet: Alan Wake Alan Wake Collector's Edition Alan Wake's American Nightmare ... V2 Iteráljunk végig egy játékot tartalmazó def main(): r = requests.get(URL) bs = bs4.BeautifulSoup(r.text, "lxml") for tr in bs.find_all('tr', class_='appimg'): for ch in tr.findChildren(): print(ch) print("-" * 20) # break # let's stop after the 1st game Az egyszerűség kedvéért most megállunk az 1. játék után. Kimenet: <td> <a class="info-icon octicon" href="http://store.steampowered.com/app/108710/..." target="_blank"></a> </td> -------------------- <a class="info-icon octicon" href="http://store.steampowered.com/app/108710/..." target="_blank"></a> -------------------- <td class="applogo"> <a href="/app/108710/" target="_blank"> <img alt="" src="/static/img/applogo.gif"/> </a> </td> -------------------- <a href="/app/108710/" target="_blank"> <img alt="" src="/static/img/applogo.gif"/> </a> -------------------- <img alt="" src="/static/img/applogo.gif"/> -------------------- <td> <a class="b" href="/app/108710/" target="_blank">Alan Wake</a> <i class="subinfo">Game</i> </td> -------------------- <a class="b" href="/app/108710/" target="_blank">Alan Wake</a> -------------------- <i class="subinfo">Game</i> -------------------- <td class="price-discount" data-sort="90">-90%</td> -------------------- <td data-sort="299">$2.99</td> -------------------- <td class="timeago" data-sort="1494867600" title="2017-05-15T17:00:00+00:00"></td> -------------------- <td data-sort="91.37"> <span aria-label="Positive: 14755 - Negative: 1307" class=" b tooltipped tooltipped-n">91%</span> </td> -------------------- <span aria-label="Positive: 14755 - Negative: 1307" class=" b tooltipped tooltipped-n">91%</span> -------------------- <td class="timeago" data-sort="1494695413" title="2017-05-13T17:10:13+00:00"></td> -------------------- Feladat Írjunk egy scraper-t, ami kiszedi az aktuális játékok listáját, majd megjeleníti a top játékokat. Egy játékot akkor tekintsünk top játéknak, ha az értékelése legalább 90%-os. A kimenetben rendezzük a játékokat értékelésük szerint. Egy lehetséges kimenet: Impossible Creatures Steam Edition (95%): $2.49 Race The Sun (93%): $4.99 The Journey Down: Chapter Two (93%): $3.74 Magicka (93%): $2.99 Furi (92%): $11.99 DOOM (92%): $19.79 ... További ötletek A fenti kis szkriptet nagyon sokféleképpen tovább lehet fejleszteni. Pl.:
|
Blogjaim, hobbi projektjeim * The Ubuntu Incident [ edit ] |