Nauč se Python > Kurzy > Python a jeho knihovny > Scraping > Web Scraping

Web Scraping – Řešení [4]

import time

import requests
from bs4 import BeautifulSoup


URL = "https://en.wikipedia.org"
START = "/wiki/Special:Random"


def najdi_titulek(soup):
    return soup.find(id="firstHeading").text


def najdi_odkaz(soup):
    hlavni_text = soup.find(class_="mw-parser-output")
    for odstavec in hlavni_text.find_all("p"):
        print(odstavec)
        for odkaz in odstavec.find_all("a"):
            print(odkaz)
            return odkaz.get("href")


def stahuj(stranka):
    navstivene = set()
    while True:
        if stranka in navstivene:
            break
        navstivene.add(stranka)

        odpoved = requests.get(URL + stranka)
        odpoved.raise_for_status()

        soup = BeautifulSoup(odpoved.text, "html.parser")
        print(najdi_titulek(soup))

        stranka = najdi_odkaz(soup)
        if not stranka:
            break

        time.sleep(1)


if __name__ == "__main__":
    stahuj(START)

Toto je stránka lekce z kurzu, který probíhá nebo proběhl naživo s instruktorem.