Π’Π΅ΡΡΠΎΠ²ΠΎΠ΅ Π·Π°Π΄Π°Π½ΠΈΠ΅. Π‘ΠΎΠ·Π΄Π°ΡΡ Π³ΡΠ°Ρ Π²ΡΠ²Π΅ΡΡΠΈ Π² ΠΠΎΠ³ (log) (ΡΠ΅ΠΊΡΡΠΎΠ²ΡΠΉ ΡΠ°ΠΉΠ»). ΠΠ°Π΄Π°ΡΠ° ΠΈΠ· Π²Π΅ΡΡΠΈΠ½Ρ 1 Π½Π°ΠΉΡΠΈ ΠΊΡΠ°ΡΡΠ°ΠΉΡΠΈΠΉ ΠΏΡΡΡ ΠΊ Π²Π΅ΡΡΠΈΠ½Π΅ 6. Π Π΅ΡΠ΅Π½ΠΈΡ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»Π° ΡΠΊΡΠΈΠΏΡΠ° graph_shortest_path.py ΠΈ log.
ΠΠ°Π½Π½ΡΠΉ ΠΊΠΎΠ΄ ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅Ρ ΠΏΠΎΠΈΡΠΊ ΠΊΡΠ°ΡΡΠ°ΠΉΡΠ΅Π³ΠΎ ΠΏΡΡΠΈ Π² Π³ΡΠ°ΡΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° ΠΎΠ±Ρ ΠΎΠ΄Π° Π² ΡΠΈΡΠΈΠ½Ρ (BFS). ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΡΡΡΠΎΠΈΡ Π³ΡΠ°Ρ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ, Π³Π΄Π΅ ΠΊΠ°ΠΆΠ΄Π°Ρ Π²Π΅ΡΡΠΈΠ½Π° ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π° ΡΠΈΡΠ»ΠΎΠΌ, Π·Π° ΠΊΠΎΡΠΎΡΡΠΌ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΡΠΏΠΈΡΠΎΠΊ ΡΠΎΡΠ΅Π΄Π΅ΠΉ ΡΠ΅ΡΠ΅Π· Π·Π°ΠΏΡΡΡΡ. ΠΠ°ΡΠ΅ΠΌ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΠΎΠΈΡΠΊ ΠΊΡΠ°ΡΡΠ°ΠΉΡΠ΅Π³ΠΎ ΠΏΡΡΠΈ ΠΌΠ΅ΠΆΠ΄Ρ Π·Π°Π΄Π°Π½Π½ΡΠΌΠΈ Π²Π΅ΡΡΠΈΠ½Π°ΠΌΠΈ.
-
build_graph(graph_str) - ΠΠ΅ΡΠΎΠ΄ build_graph ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ΅Ρ ΡΡΡΠΎΠΊΡ, ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡΡΡ Π³ΡΠ°Ρ, Π² ΡΠ»ΠΎΠ²Π°ΡΡ, Π³Π΄Π΅ ΠΊΠ»ΡΡΠ°ΠΌΠΈ ΡΠ²Π»ΡΡΡΡΡ Π²Π΅ΡΡΠΈΠ½Ρ, Π° Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌΠΈ - ΡΠΏΠΈΡΠΊΠΈ ΠΈΡ ΡΠΎΡΠ΅Π΄Π΅ΠΉ.
-
bfs_shortest_path(graph, start, end) - ΠΠ΅ΡΠΎΠ΄ bfs_shortest_path Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΠΏΠΎΠΈΡΠΊ ΠΊΡΠ°ΡΡΠ°ΠΉΡΠ΅Π³ΠΎ ΠΏΡΡΠΈ Π² Π³ΡΠ°ΡΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° ΠΎΠ±Ρ ΠΎΠ΄Π° Π² ΡΠΈΡΠΈΠ½Ρ (BFS). ΠΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ Π½Π° Π²Ρ ΠΎΠ΄ ΡΠ»ΠΎΠ²Π°ΡΡ graph, ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡΠΈΠΉ Π³ΡΠ°Ρ, ΠΈ Π²Π΅ΡΡΠΈΠ½Ρ start ΠΈ end, ΠΌΠ΅ΠΆΠ΄Ρ ΠΊΠΎΡΠΎΡΡΠΌΠΈ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΠΎΠΈΡΠΊ ΠΏΡΡΠΈ. ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΊΡΠ°ΡΡΠ°ΠΉΡΠΈΠΉ ΠΏΡΡΡ Π² Π²ΠΈΠ΄Π΅ ΡΠΏΠΈΡΠΊΠ° Π²Π΅ΡΡΠΈΠ½.
Π‘ΡΡΠ°Π½ΠΈΡΠ° https://www.python.org/downloads/ - ΡΠΏΠ°ΡΡΠΈΡΡ ΡΠ°Π±Π»ΠΈΡΡ Β«Python releases by version numberΒ» Ρ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ°ΠΌΠΈ Β«Release versionΒ», Β«Release dateΒ», Β«DownloadΒ»(ΠΏΠΎΠ»Π½Π°Ρ ΡΡΡΠ»ΠΊΠ°), Β«Release NotesΒ»(ΠΏΠΎΠ»Π½Π°Ρ ΡΡΡΠ»ΠΊΠ°). Π€ΠΎΡΠΌΠ°Ρ Π²ΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° - Π΄Π°Π½Π½ΡΠ΅ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠΎΡ ΡΠ°Π½ΡΡΡΡΡ Π² ΡΠΎΡΠΌΠ°ΡΠ΅ .xlsx. Π Π΅ΡΠ΅Π½ΠΈΡ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»Π° ΡΠΊΡΠΈΠΏΡΠ° parsing_website_py_org.py ΠΈ .xlsx ΡΠ°ΠΉΠ».
ΠΠ°Π½Π½ΡΠΉ ΡΠΊΡΠΈΠΏΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠΎΠ±ΠΈΡΠ°ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΡ ΡΠ΅Π»ΠΈΠ·Π°Ρ Python Ρ Π²Π΅Π±-ΡΡΡΠ°Π½ΠΈΡΡ ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ°ΠΉΡΠ° Python. ΠΠ½ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ Playwright Π΄Π»Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΠΈ Π²Π΅Π±-ΡΠΊΡΠ°ΠΏΠΈΠ½Π³Π° ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ Pandas Π΄Π»Ρ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ Π² ΡΠ°ΠΉΠ» Excel.
pip install pandas playwright
- scrape_python_releases(url) - ΠΠ΅ΡΠΎΠ΄ scrape_python_releases ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ URL Π²Π΅Π±-ΡΡΡΠ°Π½ΠΈΡΡ Ρ ΡΠ΅Π»ΠΈΠ·Π°ΠΌΠΈ Python ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠΏΠΈΡΠΎΠΊ ΡΠ»ΠΎΠ²Π°ΡΠ΅ΠΉ, ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΈΠ· ΠΊΠΎΡΠΎΡΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ Π²Π΅ΡΡΠΈΠΈ ΡΠ΅Π»ΠΈΠ·Π°, Π΄Π°ΡΠ΅ Π²ΡΠΏΡΡΠΊΠ°, ΡΡΡΠ»ΠΊΠ΅ Π½Π° Π·Π°Π³ΡΡΠ·ΠΊΡ ΠΈ ΡΡΡΠ»ΠΊΠ΅ Π½Π° Π·Π°ΠΌΠ΅ΡΠΊΠΈ ΠΎ ΡΠ΅Π»ΠΈΠ·Π΅.
- save_to_excel(data, filename) - ΠΠ΅ΡΠΎΠ΄ save_to_excel ΡΠΎΡ ΡΠ°Π½ΡΠ΅Ρ Π΄Π°Π½Π½ΡΠ΅ Π² ΡΠΎΡΠΌΠ°ΡΠ΅ Excel. ΠΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΡΠΏΠΈΡΠΎΠΊ ΡΠ»ΠΎΠ²Π°ΡΠ΅ΠΉ data, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠ΅Π»ΠΈΠ·Π°Ρ Python, ΠΈ ΠΈΠΌΡ ΡΠ°ΠΉΠ»Π° filename, Π² ΠΊΠΎΡΠΎΡΡΠΉ Π½ΡΠΆΠ½ΠΎ ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ Π΄Π°Π½Π½ΡΠ΅.
ΠΠΎΠΈΡΠΊ Π²ΡΠ΅Ρ Π½Π°Π·Π²Π°Π½ΠΈΠΉ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ ΠΈ ΠΈΡ id, Π²Π΅ΡΠ½ΡΡΡ ΠΊΠΎΡΡΠ΅ΠΆ Π΄Π°Π½Π½ΡΡ ((βtitleβ, id),(β¦)β¦). ΠΠ°Π½Π½ΡΠ΅: ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ βnew_test_hw.jsonβ. Π Π΅ΡΠ΅Π½ΠΈΠ΅ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»Π° ΡΠΊΡΠΈΠΏΡΠ° extract_companies.py ΠΈ ΡΠ°ΠΉΠ» json new_test_hw.json.
ΠΠ°Π½Π½ΡΠΉ ΡΠΊΡΠΈΠΏΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΈΠ·Π²Π»Π΅ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡΡ ΠΈΠ· JSON-ΡΠ°ΠΉΠ»Π° ΠΈ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΡΡ Π΅Ρ Π² Π²ΠΈΠ΄Π΅ ΡΠΏΠΈΡΠΊΠ° ΠΊΠΎΡΡΠ΅ΠΆΠ΅ΠΉ, Π³Π΄Π΅ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΊΠΎΡΡΠ΅ΠΆ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ ΠΈ Π΅Ρ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ.
- extract_companies(data) - ΠΠ΅ΡΠΎΠ΄ extract_companies ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ Π΄Π°Π½Π½ΡΠ΅ Π² ΡΠΎΡΠΌΠ°ΡΠ΅ JSON ΠΈ ΡΠ΅ΠΊΡΡΡΠΈΠ²Π½ΠΎ ΠΏΡΠΎΡ ΠΎΠ΄ΠΈΡ ΠΏΠΎ ΡΡΡΡΠΊΡΡΡΠ΅ Π΄Π°Π½Π½ΡΡ , ΠΈΠ·Π²Π»Π΅ΠΊΠ°Ρ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΈ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ. ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠΏΠΈΡΠΎΠΊ ΠΊΠΎΡΡΠ΅ΠΆΠ΅ΠΉ, Π³Π΄Π΅ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΊΠΎΡΡΠ΅ΠΆ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ ΠΈ Π΅Ρ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ.

