1.1 KiB
1.1 KiB
English | Dansk | Bahasa Malaysia
Modernisering
| Oprindelig løsning | Moderne løsning | Hvorfor |
|---|---|---|
Én main.py |
Lag i src/scraping_python_org (domain, application, infrastructure, presentation) |
Forretningsreglerne afhænger ikke af Selenium; use casen testes med en fake |
| Lang absolut XPath | CSS-selector .event-widget li |
Kort, læsbar, tåler ændringer i layoutet |
Manuel tæller c |
enumerate |
Mindre kode, ingen fejl med off-by-one |
detach=True efterfulgt af driver.quit() |
Headless Chrome i en context manager, der altid lukker | Ingen efterladte browservinduer, kører uden skrivebord |
selenium uden version i requirements.txt |
pyproject.toml med minimumsversioner |
Reproducerbare installationer |
| Ingen tests | Enhedstests og en headless browsertest på en gemt side | Ændringer er trygge |
| Ingen typeannotationer | mypy --strict, ruff |
Fejl findes før kørsel |
Hvad du får ud af det: en scraper, du kan ændre med ro i sindet; samme idé som i lektionen, men bygget som et rigtigt projekt.