Pagrindinis / Info surinkimas iš web puslapio

Info surinkimas iš web puslapio

Programavimo video. Šiandien mokomės perskaityti informaciją esančią web puslapyje ir įkelti ją į kodą, kur jau fantazijos reikalas ką su ja nuveikt... :) PDF'as, dominantis skyrius: "Python Aplinka" https://www.griaustinis.lt/python_receptai_short.pdf

Turime 106 peržiūrų

Santrauka

Turinys

Reikalavimai

  • requests biblioteka pip install requests

  • BeautifulSoup4 biblioteka pip install beautifulsoup4

Video metu naudojamas Jupyter Notebook.

Vienas iš būdų yra instaliuoti Anaconda kas yra duomenų mokslui pritaikytas programų rinkinys, turintis tiek Python, tiek Jupyter Notebook, tiek krūvą kitų naudingų dalykų.

Kitas būdas - sekti nurodymus Šitam PDF'e

Kaip tai veikia

Su requests biblioteka mes galime parsisiųsti visą puslapio turinį:

import requests

raw = requests.get("https://www.aruodas.lt/").text

O su beautifulSoup4 biblioteka, mes galime lengvai analizuoti tą turinį.

Puslapio analizė

Prireiks šiek tiek bazinių HTML žinių (arba galit tiesiog sekti pagal video), tam rekomenduoju w3Schools.

Pirma mums reikia paversti turinį soup objektu:

from bs4 import BeautifulSoup

soup = BeautifulSoup(raw)

Tada galime vyktydi elementų paiešką:

soup.find_all("div", {"class": "something"})

find randa pirmą elementą, find_all randa visus elementus atitinkančius paiešką puslapyje. Pirmas argumentas yra HTML elemento tipas, pvz. div, a, span ir t.t..., antras - elemento atributai pagal kuriuos ieškosime.

Trumpai:

  • nuorodos turės tipą a

  • Teksto blokai bus div, arba span

  • Lentelės susideda iš tr (table row) eilutės ir td (table data) stulpelio elementų

  • Dažniausi atributai pagal kuriuos ieškosite (turbūt daugiau nei 90% atvejų) bus id arba class. class - gali būti 1 ir daugiau elementų puslapyje, id - unikalūs.

Autorius

Šarūnas Navickas
Šarūnas Navickas Projekto iniciatorius, video autorius, puslapio programuotojas

Python ir Clojure programuotojas, dirbantis su kalbos technologijomis - natūralios kalbos apdorojimu ir generavimu. Šio projekto iniciatorius.

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more