{"id":330574,"date":"2022-03-12T21:00:22","date_gmt":"2022-03-12T21:00:22","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=330574"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=330574","title":{"rendered":"<span>\u041c\u0430\u0441\u0441\u043e\u0432\u0430\u044f \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0430, \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u0438 \u0432\u044b\u0433\u0440\u0443\u0437\u043a\u0430 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0439 \u0432 \u0411\u0438\u0442\u0440\u0438\u043a\u0441 \u043d\u0430 Python3<\/span>"},"content":{"rendered":"<div><\/div>\n<div id=\"post-content-body\">\n<div>\n<div class=\"article-formatted-body article-formatted-body_version-2\">\n<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\">\n<h2>\u0410 \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u0435\u0435?<\/h2>\n<p>\u041c\u0435\u0441\u044f\u0446 \u043d\u0430\u0437\u0430\u0434 \u043d\u0430\u0448\u0430 \u043a\u043e\u043c\u0430\u043d\u0434\u0430 \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0430 \u0437\u0430\u0434\u0430\u0447\u0443 \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0433\u043e \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u043d\u0438\u044f: \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u0442\u0441\u044f \u043d\u043e\u0432\u044b\u0439 \u0441\u0430\u0439\u0442 \u043e\u043d\u043b\u0430\u0439\u043d-\u043c\u0430\u0433\u0430\u0437\u0438\u043d\u0430, \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0449\u0438\u0439 \u043d\u0430 \u0411\u0438\u0442\u0440\u0438\u043a\u0441, \u0432\u0441\u0435 \u0442\u043e\u0432\u0430\u0440\u044b \u0432 \u0435\u0433\u043e \u0431\u0430\u0437\u0435 \u043b\u0435\u0436\u0430\u0442 \u0443\u0436\u0435 \u043e\u0444\u043e\u0440\u043c\u043b\u0435\u043d\u043d\u044b\u0435, \u043e\u0434\u043d\u0430\u043a\u043e \u0444\u043e\u0442\u043e\u0433\u0440\u0430\u0444\u0438\u0438 \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u0442\u043e\u0432\u0430\u0440\u0430 \u0437\u0430\u043f\u043e\u043b\u043d\u0435\u043d\u044b \u043d\u0435 \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e (\u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u0442\u043e\u0432\u0430\u0440\u0430 \u0435\u0441\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u0434\u0435\u0442\u0430\u043b\u044c\u043d\u043e\u0435 \u0444\u043e\u0442\u043e, \u0430 \u043f\u0440\u0435\u0432\u044c\u044e-\u0444\u043e\u0442\u043e\u0433\u0440\u0430\u0444\u0438\u0438 \u0438 \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u044e\u0442). <\/p>\n<p>\u0414\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u0442\u043e\u0432\u0430\u0440\u0430 \u043d\u0443\u0436\u043d\u043e \u0431\u044b\u043b\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c:<\/p>\n<ul>\n<li>\n<p>\u0421\u043a\u0430\u0447\u0430\u0442\u044c \u043a\u0430\u0436\u0434\u0443\u044e \u0434\u0435\u0442\u0430\u043b\u044c\u043d\u0443\u044e \u0444\u043e\u0442\u043e\u0433\u0440\u0430\u0444\u0438\u044e<\/p>\n<\/li>\n<li>\n<p>\u0420\u0435\u0441\u0430\u0439\u0437\u043d\u0443\u0442\u044c \u0435\u0435 \u0432 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0435 \u0440\u0430\u0437\u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u0438 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0432 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 \u043e\u0442 \u0441\u0442\u0430\u0442\u0443\u0441\u0430 \u0442\u043e\u0432\u0430\u0440\u0430 (\u0440\u0430\u0437\u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u0444\u043e\u0442\u043e\u0433\u0440\u0430\u0444\u0438\u0438 \u0434\u043b\u044f \u043b\u044e\u043a\u0441-\u0442\u043e\u0432\u0430\u0440\u0430 \u0431\u043e\u043b\u044c\u0448\u0435, \u0447\u0435\u043c \u0434\u043b\u044f \u0442\u043e\u0432\u0430\u0440\u0430 \u0438\u0437 \u043a\u0430\u0442\u0435\u0433\u043e\u0440\u0438\u0438 &#171;\u043c\u0430\u0441\u0441-\u043c\u0430\u0440\u043a\u0435\u0442&#187;)<\/p>\n<\/li>\n<li>\n<p>\u0417\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044c \u044d\u0442\u0443 \u0444\u043e\u0442\u043e\u0433\u0440\u0430\u0444\u0438\u044e \u043a\u0430\u043a \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u0443\u044e \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0443<\/p>\n<\/li>\n<li>\n<p>\u0420\u0435\u0441\u0430\u0439\u0437\u043d\u0443\u0442\u044c \u044d\u0442\u0443 \u0436\u0435 \u0444\u043e\u0442\u043e\u0433\u0440\u0430\u0444\u0438\u044e \u0432 \u0440\u0430\u0437\u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u0442\u0440\u0435\u0431\u0443\u0435\u043c\u043e\u0435 \u0434\u043b\u044f \u0442\u0440\u0435\u0445 \u0442\u0438\u043f\u043e\u0432 \u043f\u0440\u0435\u0432\u044c\u044e-\u043a\u0430\u0440\u0442\u0438\u043d\u043e\u043a \u0442\u043e\u0432\u0430\u0440\u0430 \u0438 \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044c \u0432 \u043f\u043e\u043b\u044f \u043f\u0440\u0435\u0432\u044c\u044e-\u043a\u0430\u0440\u0442\u0438\u043d\u043e\u043a<\/p>\n<\/li>\n<li>\n<p>\u0412\u044b\u043a\u0430\u0447\u0430\u0442\u044c \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u0442\u043e\u0432\u0430\u0440\u0430 \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u0444\u043e\u0442\u043e\u0433\u0440\u0430\u0444\u0438\u0438 \u0441\u043e \u0441\u0442\u0430\u0440\u043e\u0433\u043e \u0441\u0430\u0439\u0442\u0430, \u0438 \u043f\u043e\u0434\u043e\u0433\u043d\u0430\u0442\u044c \u043f\u043e\u0434 \u0440\u0430\u0437\u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0439 \u0444\u043e\u0442\u043e\u0433\u0440\u0430\u0444\u0438\u0438 (\u0432 \u0440\u0430\u043c\u043a\u0430\u0445 \u044d\u0442\u043e\u0433\u043e \u043f\u043e\u0441\u0442\u0430 \u0431\u0443\u0434\u0435\u043c \u0441\u0447\u0438\u0442\u0430\u0442\u044c, \u0447\u0442\u043e \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \u043a  \u0431\u0430\u0437\u0435 \u0441\u0442\u0430\u0440\u043e\u0433\u043e \u0441\u0430\u0439\u0442\u0430 \u043d\u0435\u0442)<\/p>\n<\/li>\n<li>\n<p>\u0417\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044c \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u0444\u043e\u0442\u043e\u0433\u0440\u0430\u0444\u0438\u0438 \u0432 \u0440\u0430\u0437\u0434\u0435\u043b \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0445 \u043a\u0430\u0440\u0442\u0438\u043d\u043e\u043a<\/p>\n<\/li>\n<\/ul>\n<p>\u0422\u0430\u043a \u043a\u0430\u043a \u043c\u044b \u043e\u0431\u0449\u0430\u0435\u043c\u0441\u044f \u0432 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u043c \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 \u043f\u0438\u0442\u043e\u043d\u0430, \u0441 \u0411\u0438\u0442\u0440\u0438\u043a\u0441\u043e\u043c \u043d\u0435 \u0437\u043d\u0430\u043a\u043e\u043c\u044b, \u0430 \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u043c\u043e\u0434\u0443\u043b\u0435\u0439 \u043d\u0430 PHP \u044d\u0442\u043e \u0432\u043e\u043e\u0431\u0449\u0435 \u0434\u043b\u044f \u043d\u0430\u0441 \u043c\u0440\u0430\u043a, \u043c\u044b \u043d\u0430\u0447\u0430\u043b\u0438 \u0438\u0441\u043a\u0430\u0442\u044c \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e \u043a\u0430\u043a \u044d\u0442\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u043f\u0440\u043e\u0441\u0442\u043e, \u0436\u0435\u043b\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u0435\u0449\u0435 \u0438 \u043d\u0430 Python. \u0418\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438 \u0431\u044b\u043b\u043e \u043c\u0430\u043b\u043e, \u0430 \u0442\u043e\u0447\u043d\u0435\u0435 \u043f\u043e\u0447\u0442\u0438 \u043d\u043e\u043b\u044c, \u043f\u043e\u044d\u0442\u043e\u043c\u0443, \u0434\u043b\u044f \u0442\u0430\u043a\u0438\u0445 \u0436\u0435 \u043b\u044e\u0431\u0438\u0442\u0435\u043b\u0435\u0439 \u043d\u0430\u0432\u0430\u043b\u0438\u0442\u044c \u0436\u0435\u0441\u0442\u043a\u043e\u0433\u043e \u043f\u0430\u0439\u0442\u043e\u043d-\u043a\u043e\u0434\u0430 \u0432 \u0442\u0430\u043a\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435, \u0430 \u043d\u0435 \u0440\u0435\u0448\u0430\u0442\u044c \u0432\u0441\u0435 \u0432\u043e\u043f\u0440\u043e\u0441\u044b \u0432\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u044b\u043c\u0438 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0430\u043c\u0438 \u0438 \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0430 \u044d\u0442\u0430 \u0441\u0442\u0430\u0442\u044c\u044f. \u041f\u0440\u0435\u0434\u043f\u043e\u043b\u043e\u0433\u0430\u0435\u0442\u0441\u044f, \u0447\u0442\u043e \u0432\u044b \u0437\u043d\u0430\u0435\u0442\u0435 \u043a\u0430\u043a \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c c Python \u0438 SQL, \u0437\u043d\u0430\u0435\u0442\u0435 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 requests, bs4, sqlite3, \u0435\u0441\u043b\u0438 \u043d\u0435\u0442, \u0442\u043e \u0432\u0441\u0435 \u0440\u0430\u0432\u043d\u043e \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f \u0431\u0443\u0434\u0435\u0442 \u043f\u043e\u043b\u0435\u0437\u043d\u043e\u0439.<\/p>\n<h2>\u0428\u0430\u0433 1. \u041c\u0430\u0441\u0441\u043e\u0432\u043e \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c \u0441\u0441\u044b\u043b\u043a\u0438 \u043d\u0430 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f \u0441 \u0411\u0438\u0442\u0440\u0438\u043a\u0441\u0430<\/h2>\n<p>\u041d\u0430 \u044d\u0442\u043e\u043c \u044d\u0442\u0430\u043f\u0435 \u043c\u044b \u043f\u043e\u0442\u0440\u0430\u0442\u0438\u043b\u0438 \u0431\u043e\u043b\u044c\u0448\u0435 \u0432\u0441\u0435\u0433\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0438, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u043d\u0435 \u0437\u0430\u043c\u0435\u0442\u0438\u043b\u0438 \u043e\u0434\u043d\u0443 \u043c\u0430\u043b\u0435\u043d\u044c\u043a\u0443\u044e \u043a\u043d\u043e\u043f\u043e\u0447\u043a\u0443, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u043d\u0430\u043c\u043d\u043e\u0433\u043e \u0443\u043f\u0440\u043e\u0441\u0442\u0438\u0442\u044c \u0432\u044b\u043a\u0430\u0447\u043a\u0443 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0439 \u0438 \u043d\u0435 \u0437\u0430\u043d\u0438\u043c\u0430\u0442\u044c\u0441\u044f \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0438\u0435\u043c \u043f\u0430\u0440\u0441\u0435\u0440\u043e\u0432, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u044d\u043c\u0443\u043b\u0438\u0440\u0443\u044e\u0442 \u0441\u0435\u0441\u0441\u0438\u044e \u0438 \u0442\u0430\u043a \u0434\u0430\u043b\u0435\u0435.<\/p>\n<p>\u041f\u0435\u0440\u0432\u043e\u0435, \u0447\u0442\u043e \u043d\u0443\u0436\u043d\u043e \u0437\u043d\u0430\u0442\u044c: \u0434\u043b\u044f \u0442\u043e\u0433\u043e, \u0447\u0442\u043e\u0431 \u0441\u043a\u0430\u0447\u0430\u0442\u044c \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0435 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043f\u0438\u0442\u043e\u043d\u0430 <s>\u0434\u0430 \u0438 \u043f\u0440\u043e\u0441\u0442\u043e \u0441\u043a\u0430\u0447\u0430\u0442\u044c<\/s>  \u043d\u0443\u0436\u043d\u043e \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u043f\u0440\u044f\u043c\u0443\u044e \u0441\u0441\u044b\u043b\u043a\u0443 \u043d\u0430 \u044d\u0442\u043e \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0435. \u042d\u0442\u043e \u043c\u043e\u0436\u043d\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u043f\u0440\u043e\u043f\u0430\u0440\u0441\u0438\u0432 \u043a\u0430\u0440\u0442\u043e\u0447\u043a\u0443 \u0442\u043e\u0432\u0430\u0440\u0430 \u0432 \u0411\u0438\u0442\u0440\u0438\u043a\u0441\u0435, \u0430 \u043c\u043e\u0436\u043d\u043e \u043f\u0440\u043e\u0441\u0442\u043e (\u043a\u0430\u043a \u043e\u043a\u0430\u0437\u0430\u043b\u043e\u0441\u044c) \u0441\u043a\u0430\u0447\u0430\u0442\u044c \u0442\u0430\u0431\u043b\u0438\u0446\u0443 \u0441 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0438\u0435\u043c ID \u0442\u043e\u0432\u0430\u0440\u0430 \u0438 \u0441\u0441\u044b\u043b\u043a\u043e\u0439 \u043d\u0430 \u0434\u0435\u0442\u0430\u043b\u044c\u043d\u043e\u0435 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0435.<\/p>\n<p>\u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u0438\u0434\u0435\u043c \u0432 \u041a\u043e\u043d\u0442\u0435\u043d\u0442 > \u041a\u0430\u0442\u0430\u043b\u043e\u0433 > \u041a\u0430\u0442\u0430\u043b\u043e\u0433 \u0442\u043e\u0432\u0430\u0440\u043e\u0432 > \u042d\u043b\u0435\u043c\u0435\u043d\u0442\u044b<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/43d\/3b5\/391\/43d3b5391d4dffe965b0603148eee269.png\" alt=\"\u041a\u0430\u0442\u0430\u043b\u043e\u0433 \u0442\u043e\u0432\u0430\u0440\u043e\u0432 \u0411\u0438\u0442\u0440\u0438\u043a\u0441\" title=\"\u041a\u0430\u0442\u0430\u043b\u043e\u0433 \u0442\u043e\u0432\u0430\u0440\u043e\u0432 \u0411\u0438\u0442\u0440\u0438\u043a\u0441\" width=\"1792\" height=\"787\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/43d\/3b5\/391\/43d3b5391d4dffe965b0603148eee269.png\"\/><figcaption>\u041a\u0430\u0442\u0430\u043b\u043e\u0433 \u0442\u043e\u0432\u0430\u0440\u043e\u0432 \u0411\u0438\u0442\u0440\u0438\u043a\u0441<\/figcaption><\/figure>\n<p>\u0412\u0438\u0434\u0438\u0442\u0435 \u0448\u0435\u0441\u0442\u0435\u0440\u0435\u043d\u043a\u0443, \u0432\u044b\u0434\u0435\u043b\u0435\u043d\u043d\u0443\u044e \u043d\u0430 \u0444\u043e\u0442\u043e? \u0416\u043c\u0435\u043c \u043d\u0430 \u043d\u0435\u0435 \u0438 \u043d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u043c \u043f\u043e\u043b\u044f, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0431\u0443\u0434\u0443\u0442 \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u044b \u0432 \u0442\u0430\u0431\u043b\u0438\u0446\u0435 \u0432 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 \u043e\u0442 \u0432\u0430\u0448\u0435\u0439 \u0437\u0430\u0434\u0430\u0447\u0438.<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/eda\/514\/ea4\/eda514ea4d1ab27fa74ccaf20b8c8d22.png\" alt=\"\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u0442\u0430\u0431\u043b\u0438\u0446\u044b\" title=\"\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u0442\u0430\u0431\u043b\u0438\u0446\u044b\" width=\"1133\" height=\"828\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/eda\/514\/ea4\/eda514ea4d1ab27fa74ccaf20b8c8d22.png\"\/><figcaption>\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u0442\u0430\u0431\u043b\u0438\u0446\u044b<\/figcaption><\/figure>\n<p>\u0414\u043b\u044f \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e \u043d\u0430\u0448\u0435\u0439 \u0437\u0430\u0434\u0430\u0447\u0438 \u043d\u0430\u043c \u043d\u0443\u0436\u043d\u0430 \u0431\u044b\u043b\u0430 \u0442\u043e\u043b\u044c\u043a\u043e \u0434\u0435\u0442\u0430\u043b\u044c\u043d\u0430\u044f \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0430, \u043d\u043e \u0432 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 \u043e\u0442 \u0432\u0430\u0448\u0435\u0439 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u043c\u043e\u0433\u0443\u0442 \u043e\u0442\u043b\u0438\u0447\u0430\u0442\u044c\u0441\u044f.<\/p>\n<p>\u041d\u0430\u0436\u0438\u043c\u0430\u0435\u043c \u043a\u043d\u043e\u043f\u043a\u0443 &#171;\u041f\u0440\u0438\u043c\u0435\u043d\u0438\u0442\u044c&#187; \u0438 \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c \u0432\u043e\u0442 \u0442\u0430\u043a\u043e\u0439 \u043f\u0440\u0435\u043a\u0440\u0430\u0441\u043d\u044b\u0439 \u0432\u0438\u0434 \u043d\u0430 \u0442\u0430\u0431\u043b\u0438\u0446\u0443 \u043d\u0430\u0448\u0438\u0445 \u0442\u043e\u0432\u0430\u0440\u043e\u0432<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/15d\/df6\/e8b\/15ddf6e8bd7f5bb460f3d72952dca31c.png\" width=\"1436\" height=\"820\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/15d\/df6\/e8b\/15ddf6e8bd7f5bb460f3d72952dca31c.png\"\/><figcaption><\/figcaption><\/figure>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u043d\u0430\u043c \u044d\u0442\u0443 \u0442\u0430\u0431\u043b\u0438\u0446\u0443 \u043d\u0443\u0436\u043d\u043e \u0441\u043a\u0430\u0447\u0430\u0442\u044c \u043a\u0430\u043a \u043e\u0431\u044b\u0447\u043d\u0443\u044e Excel \u0442\u0430\u0431\u043b\u0438\u0446\u0443. \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u043d\u0430\u0436\u0438\u043c\u0430\u0435\u043c \u0432\u043e\u0442 \u044d\u0442\u0443 \u043a\u043d\u043e\u043f\u043e\u0447\u043a\u0443:<\/p>\n<figure class=\"bordered full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/368\/1ec\/2a3\/3681ec2a35263c08a78450d70c286e68.png\" width=\"1439\" height=\"802\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/368\/1ec\/2a3\/3681ec2a35263c08a78450d70c286e68.png\"\/><figcaption><\/figcaption><\/figure>\n<p>\u041f\u043e\u0437\u0434\u0440\u0430\u0432\u043b\u044f\u0435\u043c, \u0432\u044b \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u043b\u0438 \u043f\u043e\u043b\u043d\u0443\u044e Excel-\u0442\u0430\u0431\u043b\u0438\u0446\u0443 \u0441\u043e \u0432\u0441\u0435\u043c\u0438 \u0442\u043e\u0432\u0430\u0440\u0430\u043c\u0438, \u0438\u0445 \u0430\u0439\u0434\u0438\u0448\u043d\u0438\u043a\u0430\u043c\u0438, \u0430\u0440\u0442\u0438\u043a\u0443\u043b\u0430\u043c\u0438 \u0438 \u0441\u0441\u044b\u043b\u043a\u0430\u043c\u0438 \u043d\u0430 \u0434\u0435\u0442\u0430\u043b\u044c\u043d\u0443\u044e \u0444\u043e\u0442\u043e\u0433\u0440\u0430\u0444\u0438\u044e.<\/p>\n<p>\u0418 \u0435\u0441\u043b\u0438 \u0432\u044b \u0443\u0436\u0435 \u043f\u0440\u0438\u0433\u043e\u0442\u043e\u0432\u0438\u043b\u0438\u0441\u044c \u0440\u0430\u0441\u0447\u0435\u0445\u043b\u044f\u0442\u044c \u0441\u0432\u043e\u0439 \u043c\u043e\u0434\u0443\u043b\u044c \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u044d\u043a\u0441\u0435\u043b\u044c-\u0442\u0430\u0431\u043b\u0438\u0446\u0430\u043c\u0438 \u0432 \u043f\u0438\u0442\u043e\u043d\u0435, \u0442\u043e \u0441\u043f\u0435\u0448\u0443 \u0432\u0430\u0441 \u043e\u0431\u043b\u043e\u043c\u0430\u0442\u044c \u0438 \u043e\u0442\u043a\u0440\u044b\u0442\u044c \u0441\u043a\u0430\u0447\u0430\u043d\u043d\u044b\u0439 \u0444\u0430\u0439\u043b \u0432 \u0442\u0435\u043a\u0441\u0442\u043e\u0432\u043e\u043c \u0440\u0435\u0434\u0430\u043a\u0442\u043e\u0440\u0435:<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/d9a\/ba6\/ae0\/d9aba6ae0af05ff7daeb2792046bda97.png\" width=\"1280\" height=\"289\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/d9a\/ba6\/ae0\/d9aba6ae0af05ff7daeb2792046bda97.png\"\/><figcaption><\/figcaption><\/figure>\n<p>\u041e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f, \u044d\u0442\u043e \u043e\u0431\u044b\u0447\u043d\u044b\u0439 html-\u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442, \u0447\u0442\u043e \u043d\u0435 \u043c\u043e\u0436\u0435\u0442 \u043d\u0430\u0441 \u043a\u043e\u043d\u0435\u0447\u043d\u043e \u043d\u0435 \u0440\u0430\u0434\u043e\u0432\u0430\u0442\u044c. \u0411\u044b\u043b\u043e \u0431\u044b \u043d\u0435\u043f\u043b\u043e\u0445\u043e \u043f\u0440\u0438\u0432\u0435\u0441\u0442\u0438 \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 \u0432 \u043f\u043b\u044e\u0441-\u043c\u0438\u043d\u0443\u0441 \u0443\u0434\u043e\u0431\u043d\u044b\u0439 \u0444\u043e\u0440\u043c\u0430\u0442, \u0442\u043e \u0435\u0441\u0442\u044c \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044c \u044d\u0442\u043e \u0432 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u0443\u044e \u0431\u0430\u0437\u0443 \u0434\u0430\u043d\u043d\u044b\u0445. \u041f\u0440\u0435\u0436\u0434\u0435 \u0447\u0435\u043c \u0447\u0442\u043e-\u0442\u043e \u0437\u0430\u0433\u0440\u0443\u0436\u0430\u0442\u044c \u0432 \u0442\u0430\u0431\u043b\u0438\u0446\u0443, \u0435\u0435 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0441\u043e\u0437\u0434\u0430\u0442\u044c:<\/p>\n<p><sub>(\u0445\u043e\u0447\u0443 \u043e\u0431\u0440\u0430\u0442\u0438\u0442\u044c \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435, \u0447\u0442\u043e \u044d\u0442\u043e\u0442 \u0448\u0430\u0433 \u043d\u0435 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u043c, \u0438 \u0435\u0441\u043b\u0438 \u0432\u0430\u043c \u0443\u0434\u043e\u0431\u043d\u043e \u0445\u0440\u0430\u043d\u0438\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0435 \u0432 json, txt, \u044d\u0442\u043e\u0439 \u0436\u0435 \u0442\u0430\u0431\u043b\u0438\u0446\u0435, \u043f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430).<\/sub> <\/p>\n<pre><code class=\"sql\">CREATE TABLE \"elements\" ( \"id\"INTEGER,  \"article\"INTEGER, \"detail\"TEXT, \"additional\"TEXT, \"prev1\"TEXT, \"prev2\"TEXT, \"prev3\"TEXT, \"additional_handled\"TEXT );<\/code><\/pre>\n<p>\u0427\u0442\u043e \u044d\u0442\u043e \u0437\u0430 \u043f\u043e\u043b\u044f:<\/p>\n<ol>\n<li>\n<p>id &#8212; \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440 \u0442\u043e\u0432\u0430\u0440\u0430 \u0432 \u0431\u0438\u0442\u0440\u0438\u043a\u0441\u0435 (\u043b\u043e\u0433\u0438\u0447\u043d\u043e)<\/p>\n<\/li>\n<li>\n<p>article &#8212; \u0435\u0433\u043e \u0430\u0440\u0442\u0438\u043a\u0443\u043b<\/p>\n<\/li>\n<li>\n<p>detail &#8212; \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u0434\u0435\u0442\u0430\u043b\u044c\u043d\u0443\u044e \u0444\u043e\u0442\u043e\u0433\u0440\u0430\u0444\u0438\u044e, \u043a\u043e\u0442\u043e\u0440\u0443\u044e \u043c\u044b \u0441\u043a\u0430\u0447\u0430\u043b\u0438<\/p>\n<\/li>\n<li>\n<p>additional &#8212; \u0447\u0435\u0440\u0435\u0437 \u0442\u043e\u0447\u043a\u0443 \u0441 \u0437\u0430\u043f\u044f\u0442\u043e\u0439 \u0441\u0441\u044b\u043b\u043a\u0438 \u043d\u0430 \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u0444\u043e\u0442\u043e\u0433\u0440\u0430\u0444\u0438\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0431\u0443\u0434\u0443\u0442 \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u044b \u043f\u0440\u0438 \u043f\u0430\u0440\u0441\u0438\u043d\u0433\u0435 \u0441\u0442\u0430\u0440\u043e\u0433\u043e \u0441\u0430\u0439\u0442\u0430<\/p>\n<\/li>\n<li>\n<p>prev1 &#8212; \u0438\u043c\u044f \u0444\u0430\u0439\u043b\u0430 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0430\u043d\u043d\u043e\u0439 \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0438 \u0441 \u0434\u043b\u044f \u043f\u0435\u0440\u0432\u043e\u0439 \u043f\u0435\u0440\u0432\u044c\u044e-\u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0438<\/p>\n<\/li>\n<li>\n<p>prev2 &#8212; \u0438\u043c\u044f \u0444\u0430\u0439\u043b\u0430 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0430\u043d\u043d\u043e\u0439 \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0438 \u0441 \u0434\u043b\u044f \u0432\u0442\u043e\u0440\u043e\u0439 \u043f\u0435\u0440\u0432\u044c\u044e-\u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0438<\/p>\n<\/li>\n<li>\n<p>prev3 &#8212; \u0438\u043c\u044f \u0444\u0430\u0439\u043b\u0430 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0430\u043d\u043d\u043e\u0439 \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0438 \u0441 \u0434\u043b\u044f \u0442\u0440\u0435\u0442\u044c\u0435\u0439 \u043f\u0435\u0440\u0432\u044c\u044e-\u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0438<\/p>\n<\/li>\n<li>\n<p>additional_handled &#8212; \u0447\u0435\u0440\u0435\u0437 \u0442\u043e\u0447\u043a\u0443 \u0441 \u0437\u0430\u043f\u044f\u0442\u043e\u0439 \u0438\u043c\u0435\u043d\u0430 \u0444\u0430\u0439\u043b\u043e\u0432 \u0441 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0430\u043d\u043d\u044b\u043c\u0438 \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u043c\u0438 \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0430\u043c\u0438<\/p>\n<\/li>\n<\/ol>\n<p>\u0412\u043e\u0442 \u0442\u0435\u043f\u0435\u0440\u044c \u043c\u043e\u0436\u043d\u043e \u043f\u0435\u0440\u0435\u0433\u043e\u043d\u044f\u0442\u044c \u043d\u0430\u0448 \u0441\u043a\u0430\u0447\u0430\u043d\u043d\u044b\u0439 \u044d\u043a\u0441\u0435\u043b\u044c \u0432 \u0447\u0438\u0442\u0430\u0435\u043c\u0443\u044e \u0431\u0430\u0437\u0443:<\/p>\n<pre><code class=\"python\">import sqlite3  from bs4 import BeautifulSoup import lxml  # \u043d\u0430\u0448\u0430 \u0442\u0430\u0431\u043b\u0438\u0446\u0430 \u043b\u0435\u0436\u0438\u0442 \u0432 \u0444\u0430\u0439\u043b\u0435 detail_images.xls  with open('detail_images.xls', 'r', encoding='utf-8') as file:   \"\"\" \u0432\u0430\u0436\u043d\u043e \u043d\u0435 \u0437\u0430\u0431\u044b\u0442\u044c \u0443\u043a\u0430\u0437\u0430\u0442\u044c \u043a\u043e\u0434\u0438\u0440\u043e\u0432\u043a\u0443 \u043f\u0440\u0438 \u043e\u0442\u043a\u0440\u044b\u0442\u0438\u0438 \u0444\u0430\u0439\u043b\u0430, \u0438\u043d\u0430\u0447\u0435      \u0432\u0441\u0435 \u0441\u0447\u0438\u0442\u044b\u0432\u0430\u043d\u0438\u0435 \u0441\u043b\u043e\u043c\u0430\u0435\u0442\u0441\u044f\"\"\"     soup = BeautifulSoup(file.read(), features='lxml')     \"\"\"\u0437\u0430\u0433\u0440\u0443\u0436\u0430\u0435\u043c \u0432\u0441\u0435, \u0447\u0442\u043e \u043c\u044b \u0441\u0447\u0438\u0442\u0430\u043b\u0438 \u0441 \u0444\u0430\u0439\u043b\u0430 \u0432 \u0441\u043e\u0443\u043f, \u043d\u0435 \u0437\u0430\u0431\u044b\u0432\u0430\u044f \u0443\u043a\u0430\u0437\u0430\u0442\u044c features\"\"\" table = soup.find('table') \"\"\"\u043d\u0430\u0445\u043e\u0434\u0438\u043c \u0442\u0430\u0431\u043b\u0438\u0446\u0443 \u0432 \u0444\u0430\u0439\u043b\u0435 \u043f\u043e \u0442\u044d\u0433\u0443\"\"\" rows : list= table.find_all('tr') \"\"\" \u0432 \u043c\u0430\u0441\u0441\u0438\u0432\u0435 rows \u043b\u0435\u0436\u0430\u0442 \u0432\u0441\u0435 \u0440\u044f\u0434\u044b \u0442\u0430\u0431\u043b\u0438\u0446\u044b\"\"\" database_connection = sqlite3.connect('base.db')  cursor = database_connection.cursor() # \u043e\u0442\u043a\u0440\u044b\u0432\u0430\u0435\u043c \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435 \u0441 \u0431\u0430\u0437\u043e\u0439 \u0438 \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c \u043a\u0443\u0440\u0441\u043e\u0440 for row in rows[1:]: # \u0441\u0440\u0435\u0437 \u043d\u0443\u0436\u0435\u043d \u043f\u043e\u0442\u043e\u043c\u0443, \u0447\u0442\u043e \u0432 \u043d\u0443\u043b\u0435\u0432\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0435 \u0442\u0430\u0431\u043b\u0438\u0446\u044b \u043b\u0435\u0436\u0430\u0442 \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u0438     cols : list = row.find_all('td')     # \u0432 \u043c\u0430\u0441\u0441\u0438\u0432\u0435 cols \u043b\u0435\u0436\u0430\u0442 \u044f\u0447\u0435\u0439\u043a\u0438 \u0442\u0430\u0431\u043b\u0438\u0446\u044b \u0432 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e\u043c \u0440\u044f\u0434\u0443 row     detail = cols[0].text     element_id = int(cols[1].text)     try: article = int(cols[2].text); # \u0430\u0440\u0442\u0438\u043a\u0443\u043b\u044b \u0438\u043d\u043e\u0433\u0434\u0430 \u0438\u043c\u0435\u044e\u0442 \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u043e \u0431\u044b\u0442\u044c \u0441\u0442\u0440\u043e\u0447\u043a\u0430\u043c\u0438 \u0438\u043b\u0438 \u043f\u0443\u0441\u0442\u044b\u043c\u0438     except Exception: article = -1; # \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0442\u0430\u043a\u0438\u043c \u0442\u043e\u0432\u0430\u0440\u0438\u0449\u0430\u043c \u043c\u044b \u043f\u0440\u0438\u0441\u0432\u0430\u0438\u0432\u0430\u0435\u043c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 -1, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u044d\u0442\u043e     # \u044d\u0442\u043e \u043d\u0435\u0432\u0430\u043b\u0438\u0434\u043d\u044b\u0435 \u0442\u043e\u0432\u0430\u0440\u044b, \u0438\u0445 \u043c\u044b \u043d\u0435 \u043e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0435\u043c     cursor.execute(\"INSERT INTO elements VALUES ({}, {}, '{}', '', '', '', '', '')\"\\                    .format(element_id, article, detail))     # \u0437\u0430\u0433\u0440\u0443\u0436\u0430\u0435\u043c \u0432 \u0442\u0430\u0431\u043b\u0438\u0446\u0443 elements \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u044b\u0435 \u043d\u0430\u043c\u0438 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f          database_connection.commit() database_connection.close() <\/code><\/pre>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u0435\u0441\u043b\u0438 \u043c\u044b \u043e\u0442\u043a\u0440\u043e\u0435\u043c \u0431\u0430\u0437\u0443 \u0434\u0430\u043d\u043d\u044b\u0445, \u043c\u044b \u0443\u0432\u0438\u0434\u0438\u043c \u0441\u0442\u043e\u043b\u044c \u043e\u0442\u0440\u0430\u0434\u043d\u0443\u044e \u043a\u0430\u0440\u0442\u0438\u043d\u0443:<\/p>\n<h2>\u0428\u0430\u0433 2. \u041f\u0430\u0440\u0441\u0438\u043d\u0433 \u043a\u0430\u0440\u0442\u0438\u043d\u043e\u043a \u0441\u043e \u0441\u0442\u0430\u0440\u043e\u0433\u043e \u0441\u0430\u0439\u0442\u0430 \u0411\u0438\u0442\u0440\u0438\u043a\u0441<\/h2>\n<p>\u041e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u044d\u0442\u043e\u0433\u043e \u0448\u0430\u0433\u0430 \u0441\u043a\u043e\u0440\u0435\u0435 \u0432\u0441\u0435\u0433\u043e \u0431\u0443\u0434\u0435\u0442 \u043d\u0430\u0438\u043c\u0435\u043d\u0435\u0435 \u043f\u043e\u043b\u0435\u0437\u043d\u044b\u043c, \u0442\u0430\u043a \u043a\u0430\u043a \u043f\u0430\u0440\u0441\u0435\u0440\u044b \u2014 \u044d\u0442\u043e \u0448\u0442\u0443\u043a\u0438, \u043f\u0438\u0448\u0443\u0449\u0438\u0435\u0441\u044f \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e\u0433\u043e \u0441\u0430\u0439\u0442\u0430. \u041e\u0434\u043d\u0430\u043a\u043e, \u0438\u0437 \u044d\u0442\u043e\u0433\u043e \u0448\u0430\u0433\u0430 \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0447\u0435\u0440\u043f\u043d\u0443\u0442\u044c \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u043e\u043b\u0435\u0437\u043d\u044b\u0435 \u0438\u0434\u0435\u0438.<br \/>\u0422\u043e\u0432\u0430\u0440\u044b \u043d\u0430 \u0441\u0442\u0430\u0440\u043e\u043c \u0441\u0430\u0439\u0442\u0435 \u0431\u0443\u0434\u0435\u043c \u0438\u0441\u043a\u0430\u0442\u044c \u043f\u043e \u0438\u0445 \u0430\u0440\u0442\u0438\u043a\u0443\u043b\u0443. \u0414\u0443\u043c\u0430\u044e, \u0447\u0442\u043e \u0441\u0430\u0439\u0442\u044b, \u0441\u0434\u0435\u043b\u0430\u043d\u043d\u044b\u0435 \u043d\u0430 \u0411\u0438\u0442\u0440\u0438\u043a\u0441\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0442 \u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u043e, \u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u044d\u0442\u0430 \u0441\u0442\u0440\u0430\u0442\u0435\u0433\u0438\u044f \u0431\u0443\u0434\u0435\u0442 \u043f\u0440\u0438\u043c\u0435\u043d\u0438\u043c\u0430 \u043a\u043e \u0432\u0441\u0435\u043c \u0442\u0430\u043a\u0438\u043c \u0441\u0430\u0439\u0442\u0430\u043c.<\/p>\n<p>\u0412 \u043f\u0435\u0440\u0432\u0443\u044e \u043e\u0447\u0435\u0440\u0435\u0434\u044c \u0438\u043c\u043f\u043e\u0440\u0442\u0438\u0440\u0443\u0435\u043c \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0443 requests,  \u0434\u043e\u0431\u0430\u0432\u0438\u043c \u043a\u043b\u0430\u0441\u0441 \u043e\u0448\u0438\u0431\u043a\u0438, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0432\u044b\u043b\u0435\u0442\u0438\u0442 \u0432 \u0441\u043b\u0443\u0447\u0430\u0435 \u0435\u0441\u043b\u0438 \u0442\u043e\u0432\u0430\u0440 \u043f\u043e \u0430\u0440\u0442\u0438\u043a\u0443\u043b\u0443 \u043d\u0435 \u043d\u0430\u0439\u0434\u0435\u043d, \u0438\u043b\u0438 \u0442\u0430\u043a\u0438\u0445 \u0434\u0432\u0430 (\u0434\u0430, \u0431\u044b\u0432\u0430\u044e\u0442 \u0438 \u0442\u0430\u043a\u0438\u0435 \u0441\u043b\u0443\u0447\u0430\u0438) )<\/p>\n<pre><code class=\"python\">import requests  class ArticleException(Exception):     pass<\/code><\/pre>\n<p>\u0417\u0430\u0433\u043e\u043d\u0438\u043c \u0432 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 \u043d\u0443\u0436\u043d\u0443\u044e \u0438\u043d\u0444\u0443:<\/p>\n<pre><code class=\"python\">headers = {'User-Agent': 'Mozilla\/5.0 (Macintosh; Intel Mac OS X 10.9; rv:45.0) Gecko\/20100101 Firefox\/45.0'} oldSiteSearchUrlTemplate : str = \"https:\/\/bma.kz\/catalog\/?search={}\" # \u0432 \u044d\u0442\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0435 \u0434\u043e\u043b\u0436\u043d\u043e \u043b\u0435\u0436\u0430\u0442\u044c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0430\u0434\u0440\u0435\u0441\u043d\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0438 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0430 \u043f\u0440\u0438  # \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0438 \u043f\u043e\u0438\u0441\u043a\u0430 \u043d\u0430 \u0441\u0430\u0439\u0442\u0435, \u0441 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430\u043c\u0438 \u043f\u043e\u0438\u0441\u043a\u0430 \u0437\u0430\u043c\u0435\u043d\u0435\u043d\u043d\u044b\u043c\u0438 \u043d\u0430 {} old_site_domain = \"https:\/\/bma.kz\" # \u043f\u0440\u043e\u0441\u0442\u043e \u0430\u0434\u0440\u0435\u0441 \u0441\u0430\u0439\u0442\u0430<\/code><\/pre>\n<p>headers &#8212; \u044d\u0442\u043e \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u0438 GET-\u0437\u0430\u043f\u0440\u043e\u0441\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u043e\u0434\u043f\u0438\u0448\u0443\u0442 \u043d\u0430\u0448\u0438 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u0437\u0430\u043f\u0440\u043e\u0441\u044b \u043a\u0430\u043a \u0441\u043e\u0432\u0441\u0435\u043c \u043d\u0435 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0435<\/p>\n<p>\u0414\u0430\u043b\u044c\u0448\u0435 \u0441\u043e\u0431\u0435\u0440\u0435\u043c \u043c\u0430\u0441\u0441\u0438\u0432 \u0430\u0440\u0442\u0438\u043a\u0443\u043b\u043e\u0432 \u043d\u0430\u0448\u0438\u0445 \u0442\u043e\u0432\u0430\u0440\u043e\u0432<\/p>\n<pre><code class=\"python\">database_connection = sqlite3.connect('base.db') cursor = database_connection.cursor() cursor.execute(\"SELECT * FROM elements\") # \u0437\u0430\u0431\u0438\u0440\u0430\u0435\u043c \u0432\u0441\u0435 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u044b \u0438\u0437 \u0431\u0430\u0437\u044b articles = [x[1] for x in cursor.fetchall()] # \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u0435\u043c \u0432 \u043c\u0430\u0441\u0441\u0438\u0432 \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u043e\u043b\u0435 \u0441  # \u0438\u043d\u0434\u0435\u043a\u0441\u043e\u043c 1, \u0442\u043e \u0435\u0441\u0442\u044c \u0430\u0440\u0442\u0438\u043a\u0443\u043b <\/code><\/pre>\n<p>\u041f\u0440\u043e\u0431\u0435\u0433\u0430\u044f \u043f\u043e \u043c\u0430\u0441\u0441\u0438\u0432\u0443 \u0430\u0440\u0442\u0438\u043a\u0443\u043b\u043e\u0432: <\/p>\n<pre><code class=\"python\">for article in articles:      response = requests.get(oldSiteSearchUrlTemplate.format(article),                              headers = headers)     # \u0437\u0430\u043f\u0440\u0430\u0448\u0438\u0432\u0430\u0435\u043c \u043f\u043e\u0438\u0441\u043a\u043e\u0432\u0443\u044e \u0432\u044b\u0434\u0430\u0447\u0443 \u043f\u043e \u0430\u0440\u0442\u0438\u043a\u0443\u043b\u0443, \u043f\u043e\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u044f \u0435\u0433\u043e \u0432 \u0448\u0430\u0431\u043b\u043e\u043d     # \u0430\u0434\u0440\u0435\u0441\u0430 \u043f\u043e\u0438\u0441\u043a\u043e\u0432\u043e\u0439 \u0432\u044b\u0434\u0430\u0447\u0438 \u043d\u0430 \u0441\u0430\u0439\u0442\u0435     response_soap = BeautifulSoup(response.text, features='lxml')     try:         elementDivs = response_soap.find_all(\"div\",                                               {'class' : \"cata-list-item\"})         # \u043d\u0430\u0445\u043e\u0434\u0438\u043c \u0432\u0441\u0435 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u044b \u043a\u043b\u0430\u0441\u0441\u0430 cata-list-item  # \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u044b \u044d\u0442\u043e\u0433\u043e \u043a\u043b\u0430\u0441\u0441\u0430 \u2014 \u043a\u0430\u0440\u0442\u043e\u0447\u043a\u0438 \u0442\u043e\u0432\u0430\u0440\u043e\u0432, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0432\u044b\u0434\u0430\u044e\u0442\u0441\u044f \u0432\u0430\u043c # \u043a\u043e\u0433\u0434\u0430 \u0432\u044b \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442\u0435 \u043f\u043e\u0438\u0441\u043a\u043e\u0432\u043e\u0439 \u0437\u0430\u043f\u0440\u043e\u0441         print(len(elementDivs), end = '\\t')         if len(elementDivs) == 1:            # \u0435\u0441\u043b\u0438 \u0442\u0430\u043a\u043e\u0439 \u044d\u043b\u0435\u043c\u0435\u043d\u0442 \u0440\u043e\u0432\u043d\u043e \u043e\u0434\u0438\u043d, \u0442\u043e \u0442\u043e\u0433\u0434\u0430 \u0443 \u043d\u0430\u0441 \u0432\u0441\u0435 \u043a\u043b\u0430\u0441\u0441\u043d\u043e             # \u0438 \u043e\u0434\u043d\u043e\u043c\u0443 \u0430\u0440\u0442\u0438\u043a\u0443\u043b\u0443 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u043e\u0434\u0438\u043d \u0442\u043e\u0432\u0430\u0440             elementDiv = elementDivs[0]             url = elementDiv.find('a')['href']             # \u0432\u044b\u0433\u0440\u0443\u0436\u0430\u0435\u043c \u0438\u0437 \u044d\u0442\u043e\u0433\u043e \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430 \u0441\u0441\u044b\u043b\u043a\u0443 \u043d\u0430 \u043a\u0430\u0440\u0442\u043e\u0447\u043a\u0443 \u0442\u043e\u0432\u0430\u0440\u0430             response = requests.get(old_site_domain + url, headers = headers)             response_soap = BeautifulSoup(response.text, features = 'lxml')             # \u0434\u0435\u043b\u0430\u0435\u043c \u0437\u0430\u043f\u0440\u043e\u0441 \u043a \u043a\u0430\u0440\u0442\u043e\u0447\u043a\u0435 \u0442\u043e\u0432\u0430\u0440\u0430             dop_photo = response_soap.find('div', {'class' : 'cata-d-dopphoto'})             # \u0438\u0449\u0435\u043c \u043d\u0430 \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u043e\u0439 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0435 \u0432\u0441\u0435 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u044b \u043a\u043b\u0430\u0441\u0441\u0430 # cata-d-dopphoto: \u044d\u0442\u043e \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440 \u0434\u043b\u044f \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0445 \u0444\u043e\u0442\u043e\u0433\u0440\u0430\u0444\u0438\u0439             dop_photo_containers = dop_photo.find_all('img')            # \u0438\u0437 \u044d\u0442\u043e\u0433\u043e \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u0430 \u0432\u044b\u043b\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u043c \u0432\u0441\u0435 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u044b \u0441 \u0442\u0435\u0433\u043e\u043c \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0438             additional_photo_urls = ';'.join(               [old_site_domain + i['src'] for i in dop_photo_containers]             )             # \u0430 \u0432\u043e\u0442 \u0443\u0436\u0435 \u0438\u0437 \u044d\u0442\u0438\u0445 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u043e\u0432 \u0432\u044b\u0442\u044f\u0433\u0438\u0432\u0430\u0435\u043c \u0441\u0432\u043e\u0439\u0442\u0432\u043e src # \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u043b\u0435\u0436\u0438\u0442 \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043d\u0443\u0436\u043d\u0443\u044e \u043d\u0430\u043c \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0443, # \u0444\u043e\u0440\u043c\u0438\u0440\u0443\u0435\u043c \u0447\u0435\u0440\u0435\u0437 \u0442\u043e\u0447\u043a\u0443 \u0441 \u0437\u0430\u043f\u044f\u0442\u043e\u0439 \u0441\u0442\u0440\u043e\u0447\u043a\u0443             cursor.execute(\"UPDATE elements WHERE article={} SET additional='{}'\".format(article, additional_photo_urls))             database_connection.commit()             # \u0437\u0430\u043b\u0438\u0432\u0430\u0435\u043c \u0435\u0435 \u0432 \u0431\u0430\u0437\u0443 \u0434\u043b\u044f \u0434\u0430\u043b\u044c\u043d\u0435\u0439\u0448\u0438\u0445 \u044d\u043a\u0437\u0435\u043a\u0443\u0446\u0438\u0439         else:             raise ArticleException             # \u0435\u0441\u043b\u0438 \u0443 \u043d\u0430\u0441 \u0432\u0441\u0435 \u043d\u0435 \u043a\u043b\u0430\u0441\u0441\u043d\u043e \u0438 \u043f\u043e \u043e\u0434\u043d\u043e\u043c\u0443 \u0430\u0440\u0442\u0438\u043a\u0443\u043b\u0443 \u0432\u044b \u043d\u0430\u0448\u043b\u0438 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0442\u043e\u0432\u0430\u0440\u043e\u0432             # \u043d\u0435 \u0441\u0442\u0435\u0441\u043d\u044f\u0435\u043c\u0441\u044f \u0432\u044b\u043a\u0438\u0434\u044b\u0432\u0430\u0442\u044c     except ArticleException: # \u0430 \u0437\u0430\u0442\u0435\u043c \u0438 \u043e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0442\u044c \u043e\u0448\u0438\u0431\u043a\u0443         continue     except Exception:         continue database_connection.close()<\/code><\/pre>\n<p>\u0425\u043e\u0447\u0443 \u0441\u043d\u043e\u0432\u0430 \u043e\u0431\u0440\u0430\u0442\u0438\u0442\u044c \u0432\u0430\u0448\u0435 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435, \u0447\u0442\u043e \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u044b\u0435 \u0438\u043c\u0435\u043d\u0430 \u043a\u043b\u0430\u0441\u0441\u043e\u0432 \u043c\u043e\u0433\u0443\u0442 \u043e\u0442\u043b\u0438\u0447\u0430\u0442\u044c\u0441\u044f. \u0421\u043c\u044b\u0441\u043b \u0432\u044b\u0448\u0435\u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043d\u043e\u0433\u043e \u0432 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0438 \u0441\u0442\u0440\u0430\u0442\u0435\u0433\u0438\u0438 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u044d\u0442\u0438 \u0434\u0430\u043d\u043d\u044b\u0435 \u0432\u044b\u043a\u0430\u0447\u0430\u0442\u044c.<\/p>\n<h2>\u0428\u0430\u0433 3. \u041e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u043a\u0430\u0440\u0442\u0438\u043d\u043e\u043a<\/h2>\n<p>\u041f\u043e\u0434\u0440\u043e\u0431\u043d\u043e\u0433\u043e \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u044f \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043a\u0430\u0440\u0442\u0438\u043d\u043e\u043a \u043f\u0440\u0438\u0432\u043e\u0434\u0438\u0442\u044c \u043d\u0435 \u0431\u0443\u0434\u0443, \u043d\u0435 \u0442\u043e \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u0441\u044f \u043b\u0438\u0431\u043e \u043a\u0440\u0430\u0442\u043a\u0438\u0439 \u0441\u0430\u043c\u043e\u0443\u0447\u0438\u0442\u0435\u043b\u044c \u043f\u043e PIL, \u043b\u0438\u0431\u043e \u0431\u0435\u0441\u043f\u043e\u043b\u0435\u0437\u043d\u043e\u0435 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u043a\u043e\u0434\u0430 \u043f\u043e\u0434 \u043e\u0434\u043d\u0443 \u0437\u0430\u0434\u0430\u0447\u0443.  \u041e\u0431\u043e\u0437\u043d\u0430\u0447\u0443 \u0442\u043e\u043b\u044c\u043a\u043e \u0433\u043b\u0430\u0432\u043d\u044b\u0439 \u0432\u0435\u0440\u0441\u0442\u043e\u0432\u043e\u0439 \u0441\u0442\u043e\u043b\u0431, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0432\u0430\u043c \u043f\u043e\u043b\u0435\u0437\u0435\u043d:<\/p>\n<p>PIL \u043c\u043e\u0436\u0435\u0442 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u0441 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f\u043c\u0438, \u0443\u0436\u0435 \u0441\u043a\u0430\u0447\u0430\u043d\u043d\u044b\u043c\u0438 \u043d\u0430 \u0436\u0435\u0441\u0442\u043a\u0438\u0439 \u0434\u0438\u0441\u043a, \u0442\u0430\u043a \u0447\u0442\u043e \u0432\u0430\u043c \u043d\u0443\u0436\u043d\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u044f, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0431\u0443\u0434\u0435\u0442 \u044d\u0442\u0438 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f \u0441\u043a\u0430\u0447\u0438\u0432\u0430\u0442\u044c.<\/p>\n<pre><code class=\"python\">def load_image(url : str, temporary_path : str, article : int) -> str:   # \u0432 temporary_path \u043b\u0435\u0436\u0438\u0442 \u0430\u0434\u0440\u0435\u0441 \u0444\u0430\u0439\u043b\u0430 \u0432 \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0432\u044b \u0437\u0430\u043f\u0438\u0448\u0435\u0442\u0435 \u0441\u043a\u0430\u0447\u0430\u043d\u043d\u0443\u044e \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0443     try:         p = requests.get(url)         out = open(temporary_path, \"wb\")         out.write(p.content)         out.close()         return temporary_path     except Exception as e:         with open(\"Exceptions.txt\", 'a', encoding = 'utf-8') as file:             file.write(\"{}\\n\".format(article))         return \"ERROR\"<\/code><\/pre>\n<p>\u041f\u0440\u043e\u0431\u0435\u0433\u0430\u0435\u0442\u0435\u0441\u044c \u043f\u043e \u0431\u0430\u0437\u0435 \u0434\u0430\u043d\u043d\u044b\u0445 -> \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442\u0435 \u0438\u0437 \u043d\u0435\u0435 URL-\u043a\u0438 \u043a\u0430\u0440\u0442\u0438\u043d\u043e\u043a -> \u0441\u043a\u0430\u0447\u0438\u0432\u0430\u0435\u0442\u0435 \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0438 -> \u043e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0435\u0442\u0435 \u0438\u0445 \u043f\u043e\u0434 \u0441\u0432\u043e\u0438 \u0437\u0430\u0434\u0430\u0447\u0438 -> \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u0435\u0442\u0435 \u0441 \u0442\u0430\u043a\u0438\u043c \u0438\u043c\u0435\u043d\u0435\u043c, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u0441\u043c\u043e\u0436\u0435\u0442\u0435 \u043e\u0434\u043d\u043e\u0437\u043d\u0430\u0447\u043d\u043e \u0441\u043e\u043f\u043e\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0441 \u0442\u043e\u0432\u0430\u0440\u043e\u043c \u0438 \u043c\u0435\u0441\u0442\u043e\u043c \u0432 \u043a\u0430\u0440\u0442\u043e\u0447\u043a\u0435, \u043a\u0443\u0434\u0430 \u044d\u0442\u0443 \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0443 \u043d\u0443\u0436\u043d\u043e \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044c -> profit.<\/p>\n<h2>\u0428\u0430\u0433 4. \u0417\u0430\u0433\u0440\u0443\u0437\u043a\u0430 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0430\u043d\u043d\u044b\u0445 \u043a\u0430\u0440\u0442\u0438\u043d\u043e\u043a \u043d\u0430 \u0441\u0435\u0440\u0432\u0435\u0440.<\/h2>\n<p>\u0412\u0441\u0435 \u0431\u044b \u0431\u044b\u043b\u043e \u043a\u043b\u0443\u0431\u043d\u0438\u0447\u043d\u043e-\u0448\u043e\u043a\u043e\u043b\u0430\u0434\u043d\u043e \u0432 \u044d\u0442\u043e\u0439 \u0436\u0438\u0437\u043d\u0438, \u0435\u0441\u043b\u0438 \u0431\u044b \u0437\u0430\u0433\u0440\u0443\u0436\u0435\u043d\u043d\u044b\u0435 \u0447\u0435\u0440\u0435\u0437 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u044b \u0411\u0438\u0442\u0440\u0438\u043a\u0441\u0430 \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0438 \u043b\u0435\u0436\u0430\u043b\u0438 \u0431\u044b \u043d\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u0435 \u0441 \u0438\u043c\u0435\u043d\u0430\u043c\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0431\u044b\u043b\u0438 \u0438\u0437\u043d\u0430\u0447\u0430\u043b\u044c\u043d\u043e \u043f\u0440\u043e\u043f\u0438\u0441\u0430\u043d\u044b \u0443 \u044d\u0442\u0438\u0445 \u0444\u0430\u0439\u043b\u043e\u0432. \u041d\u043e \u0432\u0441\u0435 \u043d\u0435 \u0442\u0430\u043a \u043f\u0440\u043e\u0441\u0442\u043e).<\/p>\n<p>\u0414\u043b\u044f \u043d\u0430\u0447\u0430\u043b\u0430 \u0444\u043e\u0442\u043e\u0433\u0440\u0430\u0444\u0438\u0438 \u043d\u0443\u0436\u043d\u043e \u0445\u043e\u0442\u044c \u0432 \u043a\u0430\u043a\u043e\u043c-\u0442\u043e \u0432\u0438\u0434\u0435 \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044c \u043d\u0430 \u0441\u0435\u0440\u0432\u0435\u0440. \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u0438\u0434\u0435\u043c \u041a\u043e\u043d\u0442\u0435\u043d\u0442 > \u0421\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u0441\u0430\u0439\u0442\u0430 > \u041c\u0435\u0434\u0438\u0430\u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 > \u0418\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f <\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/16b\/747\/679\/16b7476798baeeeed98422f80b9415c2.png\" width=\"1436\" height=\"494\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/16b\/747\/679\/16b7476798baeeeed98422f80b9415c2.png\"\/><figcaption><\/figcaption><\/figure>\n<p> \u0418 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u0430\u044f \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0430 \u0437\u0430\u0433\u0440\u0443\u0436\u0430\u0435\u043c \u0432\u0441\u0435 \u043d\u0430\u0448\u0438 \u0444\u043e\u0442\u043e\u0433\u0440\u0430\u0444\u0438\u0438.<\/p>\n<p>\u041f\u043e\u043f\u0440\u043e\u0431\u0443\u0435\u043c \u043e\u0442\u043a\u0440\u044b\u0442\u044c \u043e\u0434\u043d\u0443 \u0438\u0437 \u0437\u0430\u0433\u0440\u0443\u0436\u0435\u043d\u043d\u044b\u0445 \u0444\u043e\u0442\u043e\u0433\u0440\u0430\u0444\u0438\u0439.<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/842\/1f1\/1af\/8421f11af3dee13017d53f45a01b275b.png\" width=\"1015\" height=\"697\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/842\/1f1\/1af\/8421f11af3dee13017d53f45a01b275b.png\"\/><figcaption><\/figcaption><\/figure>\n<p>\u0412 \u043f\u0440\u044f\u043c\u043e\u0443\u0433\u043e\u043b\u044c\u043d\u0438\u043a\u0435 \u0432\u044b\u0434\u0435\u043b\u0435\u043d\u043e \u0438\u043c\u044f \u0444\u0430\u0439\u043b\u0430, \u0441 \u043a\u043e\u0442\u043e\u0440\u044b\u043c \u043e\u043d \u043b\u0435\u0436\u0430\u043b \u0432 \u043d\u0430\u0448\u0435\u0439 \u0444\u0430\u0439\u043b\u043e\u0432\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u0435 \u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440\u0430, \u0430 \u0441\u0442\u0440\u0435\u043b\u043e\u0447\u043a\u043e\u0439 \u043f\u043e\u043a\u0430\u0437\u0430\u043d\u043e \u0438\u043c\u044f \u0444\u0430\u0439\u043b\u0430 \u043d\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u0435. \u041d\u0430 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u043c \u044d\u0442\u0430\u043f\u0435 \u043d\u0443\u0436\u043d\u043e \u0441\u043e\u043f\u043e\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0430\u0434\u0440\u0435\u0441\u0430 \u0444\u0430\u0439\u043b\u043e\u0432 \u043d\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u0435 \u0441 \u0442\u043e\u0432\u0430\u0440\u0430\u043c\u0438 \u0432 \u043a\u0430\u0440\u0442\u043e\u0447\u043a\u0438 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u044d\u0442\u0438 \u0444\u0430\u0439\u043b\u044b \u043d\u0443\u0436\u043d\u043e \u043f\u043e\u0434\u0433\u0440\u0443\u0436\u0430\u0442\u044c.<\/p>\n<h2>\u0428\u0430\u0433 5. \u0421\u043e\u043f\u043e\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0438\u043c\u0435\u043d \u0444\u0430\u0439\u043b\u043e\u0432<\/h2>\n<p>\u041d\u0430 \u043f\u043e\u043c\u043e\u0449\u044c \u043d\u0430\u043c \u0432 \u044d\u0442\u043e\u043c \u043d\u0435\u043b\u0435\u0433\u043a\u043e\u043c \u0434\u0435\u043b\u0435 \u043f\u0440\u0438\u0445\u043e\u0434\u0438\u0442 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u043e\u0431\u0440\u0430\u0449\u0430\u0442\u044c\u0441\u044f \u043a \u0431\u0430\u0437\u0435 \u0434\u0430\u043d\u043d\u044b\u0445 \u0411\u0438\u0442\u0440\u0438\u043a\u0441\u0430 \u043d\u0430\u043f\u0440\u044f\u043c\u0443\u044e \u0447\u0435\u0440\u0435\u0437 \u0432\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u044b\u0435 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u044b. \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u0438\u0434\u0435\u043c:<br \/>\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 > \u0418\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u044b > SQL \u0437\u0430\u043f\u0440\u043e\u0441 \u0438 \u0432 \u043f\u043e\u043b\u0435 \u0437\u0430\u043f\u0440\u043e\u0441\u0430 \u043f\u0438\u0448\u0435\u043c<\/p>\n<pre><code class=\"sql\">SELECT * FROM b_file<\/code><\/pre>\n<p>\u0427\u0442\u043e \u0432\u0435\u0440\u043d\u0435\u0442 \u043d\u0430\u043c \u0442\u0430\u043a\u043e\u0439 \u0437\u0430\u043f\u0440\u043e\u0441? \u0422\u0430\u0431\u043b\u0438\u0446\u0443 \u0441 \u043f\u043e\u043b\u043d\u044b\u043c\u0438 \u0434\u0430\u043d\u043d\u044b\u043c\u0438 \u043e \u0444\u0430\u0439\u043b\u0430\u0445 \u0432 \u0444\u0430\u0439\u043b\u043e\u0432\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u0435 \u0411\u0438\u0442\u0440\u0438\u043a\u0441\u0430. \u0412\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u044d\u0442\u043e \u0442\u0430\u043a:<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/575\/82e\/df1\/57582edf19b193ec3f282c02c3b37dc7.png\" width=\"1456\" height=\"799\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/575\/82e\/df1\/57582edf19b193ec3f282c02c3b37dc7.png\"\/><figcaption><\/figcaption><\/figure>\n<p>\u0412 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0435 &#171;\u041d\u0430 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0435&#187; \u0432\u044b\u0431\u0435\u0440\u0438\u0442\u0435 &#171;\u0412\u0441\u0435&#187;, \u043f\u043e\u0434\u043e\u0436\u0434\u0438\u0442\u0435 \u043f\u0430\u0440\u0443 \u043c\u0438\u043d\u0443\u0442 \u043f\u043e\u043a\u0430 \u0443 \u0432\u0430\u0441 \u043f\u0440\u043e\u0433\u0440\u0443\u0437\u0438\u0442\u0441\u044f \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430 \u0441 \u043f\u043e\u043b\u043d\u043e\u0439 \u0431\u0430\u0437\u043e\u0439 \u0438 \u0441\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u0435 \u044d\u0442\u0443 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0443 \u043a\u0430\u043a html \u0444\u0430\u0439\u043b.<\/p>\n<p>\u0412\u043e\u0442 \u044d\u0442\u043e\u0442 \u043a\u043e\u0434 \u043f\u043e\u043c\u043e\u0436\u0435\u0442 \u0432\u0430\u043c \u0432\u044b\u043a\u0430\u0447\u0430\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0435 \u0438\u0437 \u0442\u0430\u0431\u043b\u0438\u0446\u044b<\/p>\n<pre><code class=\"python\">with open('SQL_response.html', 'r', encoding='utf-8') as file:     # \u0432 SQL_response.html \u043b\u0435\u0436\u0438\u0442 \u0441\u043a\u0430\u0447\u0430\u043d\u043d\u0430\u044f \u0440\u0430\u043d\u0435\u0435 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430     soap = BeautifulSoup(file.read(), features='lxml') print(\"soap readed\")  rows = soap.find_all('tr', {'class' : 'adm-list-table-row'}) # rows - \u043c\u0430\u0441\u0441\u0438\u0432 \u0441\u0442\u0440\u043e\u0447\u0435\u043a \u0432 \u0442\u0430\u0431\u043b\u0438\u0446\u0435, adm-list-table-row \u044d\u0442\u043e \u043a\u043b\u0430\u0441\u0441 \u0441\u0442\u0440\u043e\u043a\u0438 b = len(rows) for i in range(len(rows)):     print(\"{}% \\t {}\/{}\".format(int(i\/b * 100), i, b), end = '\\r')     row = rows[i]     values = row.find_all('td')     subdir = values[7].text     filename = values[8].text     originalname = values[9].text<\/code><\/pre>\n<p>\u0418\u0442\u043e\u0433\u043e:<\/p>\n<ul>\n<li>\n<p>originalname &#8212; \u0438\u043c\u044f \u0444\u0430\u0439\u043b\u0430 \u0432 \u0432\u0430\u0448\u0435\u0439 \u0441\u0442\u0430\u0440\u043e\u0439 \u0444\u0430\u0439\u043b\u043e\u0432\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u0435<\/p>\n<\/li>\n<li>\n<p>filename &#8212; \u0438\u043c\u044f \u0444\u0430\u0439\u043b\u0430 \u043d\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u0435<\/p>\n<\/li>\n<li>\n<p>subdir &#8212; \u0438\u043c\u044f \u0441\u0443\u0431\u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u0438 \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u044d\u0442\u043e\u0442 \u0444\u0430\u0439\u043b \u043d\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u0435 \u043b\u0435\u0436\u0438\u0442<\/p>\n<\/li>\n<\/ul>\n<p>\u041e\u0431\u0449\u0438\u0439 \u0430\u0434\u0440\u0435\u0441 \u0444\u0430\u0439\u043b\u0430 \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u0442\u0430\u043a:<br \/>\/uploads\/$subdir\/$filename<\/p>\n<p>\u041f\u043e\u0437\u0434\u0440\u0430\u0432\u043b\u044f\u044e, \u0432\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0438 \u0430\u0434\u0440\u0435\u0441\u0430 \u0432\u0441\u0435\u0445 \u0437\u0430\u0433\u0440\u0443\u0436\u0435\u043d\u043d\u044b\u0445 \u0444\u0430\u0439\u043b\u043e\u0432<\/p>\n<h2>\u0428\u0430\u0433 6-\u043e\u0439 \u0438 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0439. \u0417\u0430\u0433\u0440\u0443\u0437\u043a\u0430 \u0444\u043e\u0442\u043e\u0433\u0440\u0430\u0444\u0438\u0439 \u0432 \u043a\u0430\u0440\u0442\u043e\u0447\u043a\u0438.<\/h2>\n<p>\u0414\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0439 \u043a\u0430\u0440\u0442\u043e\u0447\u043a\u0438 \u0442\u043e\u0432\u0430\u0440\u0430 \u0432 \u0411\u0438\u0442\u0440\u0438\u043a\u0441\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0430\u044f \u043c\u043e\u0434\u0435\u043b\u044c: \u043a\u0430\u0436\u0434\u0430\u044f \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0430 \u0432 \u044d\u0442\u043e\u0439 \u043a\u0430\u0440\u0442\u043e\u0447\u043a\u0435 \u0437\u0430\u0434\u0430\u0435\u0442\u0441\u044f \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u043e\u043c \u0432 \u044d\u0442\u043e\u0439 \u043a\u0430\u0440\u0442\u043e\u0447\u043a\u0435. \u0415\u0441\u043b\u0438 \u044d\u0442\u043e \u043e\u0431\u044a\u044f\u0441\u043d\u0435\u043d\u0438\u0435 \u043d\u0435 \u0441\u043e\u0432\u0441\u0435\u043c \u043f\u043e\u043d\u044f\u0442\u043d\u043e, \u0441\u0435\u0439\u0447\u0430\u0441 \u043f\u043e \u0445\u043e\u0434\u0443 \u0440\u0430\u0437\u0431\u0435\u0440\u0435\u043c\u0441\u044f.<\/p>\n<p>\u0414\u0430\u0432\u0430\u0439\u0442\u0435 \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u043d\u0430 PHP \u043a\u043e\u0434 \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043e\u0431\u043d\u043e\u0432\u043b\u044f\u0435\u0442 \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0438 \u0432 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e\u0439 \u043a\u0430\u0440\u0442\u043e\u0447\u043a\u0435:<\/p>\n<pre><code class=\"php\">if (CModule::IncludeModule(\"iblock\")) { $el = new CIBlockElement; $PRODUCT_ID = 15; $tmpFilePath=$_SERVER['DOCUMENT_ROOT'].\"\/upload\/medialibrary\/84e\/jwhfc3nj1z5nqtkld4myyno74s97z45h.jpg\"; $arFile=array(\"VALUE\" => \\CFile::MakeFileArray($tmpFilePath),\"DESCRIPTION\"=>\"\"); \\CIBlockElement::SetPropertyValueCode($PRODUCT_ID, 'PICTURE_455_430', $arFile); $tmpFilePath=$_SERVER['DOCUMENT_ROOT'].\"\/upload\/medialibrary\/ef5\/osdcpwdynvfvn7icp2bmxxp2ukajvuf8.jpg\"; $arFile=array(\"VALUE\" => \\CFile::MakeFileArray($tmpFilePath),\"DESCRIPTION\"=>\"\"); \\CIBlockElement::SetPropertyValueCode($PRODUCT_ID, 'PICTURE_682_430', $arFile); $tmpFilePath=$_SERVER['DOCUMENT_ROOT'].\"\/upload\/medialibrary\/fe5\/lekdifxhamcxt2vedzjzb6c3oasidjo2.jpg\"; $arFile=array(\"VALUE\" => \\CFile::MakeFileArray($tmpFilePath),\"DESCRIPTION\"=>\"\"); \\CIBlockElement::SetPropertyValueCode($PRODUCT_ID, 'PICTURE_682_962', $arFile); $tmpFilePath=$_SERVER['DOCUMENT_ROOT'].\"\/upload\/medialibrary\/42c\/0j5lhnu3px1ppmtf12x04l1tc888rpxw.jpg\"; $arFiles[]=array(\"VALUE\" => \\CFile::MakeFileArray($tmpFilePath),\"DESCRIPTION\"=>\"\"); $tmpFilePath=$_SERVER['DOCUMENT_ROOT'].\"\/upload\/iblock\/f50\/xi47bkmj83qpm0jg6z20ms8399uoazc1.jpg\"; $arFiles[]=array(\"VALUE\" => \\CFile::MakeFileArray($tmpFilePath),\"DESCRIPTION\"=>\"\"); $tmpFilePath=$_SERVER['DOCUMENT_ROOT'].\"\/upload\/iblock\/a38\/knzilyxmibfjlozrr40dhnjxieir8z4i.jpg\"; $arFiles[]=array(\"VALUE\" => \\CFile::MakeFileArray($tmpFilePath),\"DESCRIPTION\"=>\"\"); \\CIBlockElement::SetPropertyValueCode($PRODUCT_ID, 'UF_ADDPHOTO', $arFiles); $arFiles = array();  }<\/code><\/pre>\n<p>\u041c\u0430\u043b\u043e \u0447\u0442\u043e \u043f\u043e\u043d\u044f\u0442\u043d\u043e. \u041f\u043e\u043d\u0438\u043c\u0430\u0442\u044c \u044d\u0442\u043e \u0438 \u043d\u0435 \u043d\u0443\u0436\u043d\u043e, <s>\u043c\u044b \u0441\u0430\u043c\u0438 \u0434\u043e \u043a\u043e\u043d\u0446\u0430 \u043d\u0435 \u043f\u043e\u043d\u044f\u043b\u0438<\/s>. \u0422\u0435\u043f\u0435\u0440\u044c \u0434\u0430\u0432\u0430\u0439\u0442\u0435 \u043f\u043e \u043f\u043e\u0440\u044f\u0434\u043a\u0443:<\/p>\n<pre><code class=\"php\">if (CModule::IncludeModule(\"iblock\")) { $el = new CIBlockElement; $PRODUCT_ID = 15;<\/code><\/pre>\n<p>\u0412 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 $PRODUCT_ID \u043b\u0435\u0436\u0438\u0442 ID \u0442\u043e\u0432\u0430\u0440\u0430 \u0432 \u0411\u0438\u0442\u0440\u0438\u043a\u0441\u0435. \u0414\u0443\u043c\u0430\u044e \u044d\u0442\u043e \u043f\u043e\u043d\u044f\u0442\u043d\u043e<\/p>\n<pre><code>$tmpFilePath=$_SERVER['DOCUMENT_ROOT'].\"\/upload\/medialibrary\/84e\/jwhfc3nj1z5nqtkld4myyno74s97z45h.jpg\"; $arFile=array(\"VALUE\" => \\CFile::MakeFileArray($tmpFilePath),\"DESCRIPTION\"=>\"\"); \\CIBlockElement::SetPropertyValueCode($PRODUCT_ID, 'PICTURE_455_430', $arFile);<\/code><\/pre>\n<ul>\n<li>\n<p>\u0412 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 $tmpFilePath \u043b\u0435\u0436\u0438\u0442 \u0430\u0434\u0440\u0435\u0441 \u0444\u0430\u0439\u043b\u0430 \u0434\u043b\u044f \u043f\u0435\u0440\u0432\u043e\u0439 \u043f\u0440\u0435\u0432\u044c\u044e-\u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0438.<\/p>\n<\/li>\n<li>\n<p>\u0417\u0430\u0442\u0435\u043c \u043e\u043d \u0437\u0430\u043a\u0438\u0434\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u0432 \u043c\u0430\u0441\u0441\u0438\u0432 $arFile.<\/p>\n<\/li>\n<li>\n<p>\u041c\u0430\u0441\u0441\u0438\u0432 $arFile \u043f\u0435\u0440\u0435\u0434\u0430\u0435\u0442\u0441\u044f \u0432 \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u043e &#8216;PICTURE_455_430&#8217; \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0443 \u0441 ID = $PRODUCT_ID<\/p>\n<\/li>\n<li>\n<p>\u0410\u043d\u0430\u043b\u043e\u0433\u0438\u0447\u043d\u044b\u0435 \u0434\u0432\u0430 \u0431\u043b\u043e\u043a\u0430 \u0441\u043d\u0438\u0437\u0443 \u0437\u0430\u0433\u0440\u0443\u0436\u0430\u044e\u0442 \u0444\u0430\u0439\u043b\u044b \u0432\u0442\u043e\u0440\u043e\u0439 \u0438 \u0442\u0440\u0435\u0442\u044c\u0435\u0439 \u043f\u0440\u0435\u0432\u044c\u044e-\u043a\u0430\u0440\u0442\u0438\u043d\u043e\u043a  \u0432 \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0430 PICTURE_682_430 \u0438 PICTURE_682_962 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043d\u043d\u043e<\/p>\n<\/li>\n<\/ul>\n<p>\u0417\u0430\u0442\u0435\u043c \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0439 \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0439 \u0444\u043e\u0442\u043e\u0433\u0440\u0430\u0444\u0438\u0438 (\u0430 \u0438\u0445 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e) \u043f\u0438\u0448\u0435\u0442\u0441\u044f \u0442\u0430\u043a\u043e\u0439 \u043a\u043e\u0434:<\/p>\n<pre><code>$tmpFilePath=$_SERVER['DOCUMENT_ROOT'].\"\/upload\/medialibrary\/42c\/0j5lhnu3px1ppmtf12x04l1tc888rpxw.jpg\"; $arFiles[]=array(\"VALUE\" => \\CFile::MakeFileArray($tmpFilePath),\"DESCRIPTION\"=>\"\");<\/code><\/pre>\n<p>\u0417\u0430\u0442\u0435\u043c \u043e\u0434\u0438\u043d \u0440\u0430\u0437 \u043f\u0440\u043e\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u0442\u0441\u044f<\/p>\n<pre><code>\\CIBlockElement::SetPropertyValueCode($PRODUCT_ID, 'UF_ADDPHOTO', $arFiles);<\/code><\/pre>\n<p>\u042d\u0442\u0430 \u0441\u0442\u0440\u043e\u0447\u043a\u0430 \u043f\u0440\u0438\u0441\u0432\u0430\u0438\u0432\u0430\u0435\u0442 \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0443 UF_ADDPHOTO \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 $arFiles. <\/p>\n<pre><code>$arFiles = array();  }<\/code><\/pre>\n<p>\u043f\u043e\u0441\u043b\u0435 \u044d\u0442\u043e\u0433\u043e \u043e\u0447\u0438\u0449\u0430\u0435\u043c \u043c\u0430\u0441\u0441\u0438\u0432 $arFiles \u0438 \u0437\u0430\u043a\u0440\u044b\u0432\u0430\u0435\u043c \u0431\u043b\u043e\u043a \u043a\u043e\u0434\u0430.<\/p>\n<p>\u0412\u043e\u0442 \u043f\u043e \u0442\u0430\u043a\u0438\u043c \u043f\u0440\u0430\u0432\u0438\u043b\u0430\u043c, \u043f\u043e\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u044f \u043d\u0443\u0436\u043d\u044b\u0435 \u0430\u0439\u0434\u0438\u0448\u043d\u0438\u043a\u0438 \u0438 \u0430\u0434\u0440\u0435\u0441\u0430 \u0444\u0430\u0439\u043b\u043e\u0432 \u043d\u0443\u0436\u043d\u043e \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043f\u0438\u0442\u043e\u043d\u0430 \u0441\u0444\u043e\u0440\u043c\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043a\u043e\u0434 \u0434\u043b\u044f \u0432\u0441\u0435\u0445 \u0442\u043e\u0432\u0430\u0440\u043e\u0432 \u0432 \u043c\u0430\u0433\u0430\u0437\u0438\u043d\u0435 (\u043c\u043e\u0436\u043d\u043e \u0434\u0435\u043b\u0430\u0442\u044c \u044d\u0442\u043e \u0447\u0430\u0441\u0442\u044f\u043c\u0438, \u043d\u043e \u043f\u043e \u043d\u0430\u0431\u043b\u044e\u0434\u0435\u043d\u0438\u044f\u043c, \u0411\u0438\u0442\u0440\u0438\u043a\u0441 \u0445\u043e\u0440\u043e\u0448\u043e \u0441\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0441 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u043e\u0439 \u043a\u043e\u0434\u0430 \u043d\u0430 2000 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u043e\u0432 \u0437\u0430 \u0440\u0430\u0437).<\/p>\n<p>\u042d\u0442\u043e\u0442 PHP \u043a\u043e\u0434 \u0431\u0443\u0434\u0435\u0442 \u0443 \u0432\u0430\u0441 \u0437\u0430\u043d\u0438\u043c\u0430\u0442\u044c \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e 40000 \u0441\u0442\u0440\u043e\u043a. \u0418 \u0434\u043b\u044f \u0442\u043e\u0433\u043e \u0447\u0442\u043e\u0431\u044b \u0435\u0433\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u044c \u0438\u0434\u0435\u043c:<\/p>\n<p>\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 > \u0418\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u044b > \u041a\u043e\u043c\u0430\u043d\u0434\u043d\u0430\u044f PHP-\u0441\u0442\u0440\u043e\u043a\u0430<\/p>\n<p>\u0418 \u0432\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u043c \u044d\u0442\u0443 \u043e\u0433\u0440\u043e\u043c\u043d\u0443\u044e \u043a\u0443\u0447\u0443 \u0433\u043e\u0432\u043d\u043e\u043a\u043e\u0434\u0430 \u0442\u0443\u0434\u0430. \u0413\u043b\u0430\u0432\u043d\u043e\u0435, \u043d\u0435 \u0437\u0430\u0431\u0443\u0434\u044c\u0442\u0435 \u0432\u044b\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u043f\u043e\u0434\u0441\u0432\u0435\u0442\u043a\u0443 \u043a\u043e\u0434\u0430, \u043e\u043d\u0430 \u043e\u0447\u0435\u043d\u044c \u0441\u0438\u043b\u044c\u043d\u043e \u0432\u043b\u0438\u044f\u0435\u0442 \u043d\u0430 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c, \u0438 \u0441 \u043f\u043e\u0434\u0441\u0432\u0435\u0442\u043a\u043e\u0439 \u043a\u043e\u0434 \u043d\u0430 2000 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u043e\u0432 \u0441\u043a\u043e\u0440\u0435\u0435 \u0432\u0441\u0435\u0433\u043e (\u0442\u043e\u0447\u043d\u043e) \u0443\u0440\u043e\u043d\u0438\u0442 \u0432\u0430\u043c \u0441\u0430\u0439\u0442 \ud83d\ude42<\/p>\n<h4>\u041d\u0435\u0431\u043e\u043b\u044c\u0448\u043e\u0439 \u043e\u0442\u0432\u0435\u0442 \u043d\u0430 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u0443\u044e \u043a\u0440\u0438\u0442\u0438\u043a\u0443 \u044d\u0442\u043e\u0433\u043e \u0448\u0430\u0433\u0430:<\/h4>\n<p>\u0412 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435 \u0440\u0430\u0431\u043e\u0442\u044b \u043d\u0430\u0434 \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u043c \u043c\u044b \u043e\u0442\u043a\u0440\u044b\u043b\u0438 \u0431\u043e\u043b\u0435\u0435 \u044d\u043b\u0435\u0433\u0430\u043d\u0442\u043d\u044b\u0439 \u0441\u043f\u043e\u0441\u043e\u0431 \u043e\u0431\u043d\u043e\u0432\u043b\u044f\u0442\u044c \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0430 \u0442\u043e\u0432\u0430\u0440\u043e\u0432, \u0437\u0430\u0433\u0440\u0443\u0436\u0430\u044f CSV \u0442\u0430\u0431\u043b\u0438\u0446\u0443 \u0447\u0435\u0440\u0435\u0437 \u0432\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u044b\u0435 \u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0430 \u0411\u0438\u0442\u0440\u0438\u043a\u0441\u0430. \u041e\u0434\u043d\u0430\u043a\u043e, \u044d\u0442\u043e\u0442 \u0441\u043f\u043e\u0441\u043e\u0431 \u0443\u0436\u0435 \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0445\u043e\u0440\u043e\u0448\u043e \u0440\u0430\u0441\u043f\u0438\u0441\u0430\u043d \u0432 \u0434\u0440\u0443\u0433\u0438\u0445 \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a\u0430\u0445, \u043a \u0442\u043e\u043c\u0443 \u0436\u0435 \u0437\u0430\u043d\u0438\u043c\u0430\u0435\u0442 \u043f\u043e \u043e\u0449\u0443\u0449\u0435\u043d\u0438\u044f\u043c \u0447\u0443\u0442\u044c \u0431\u043e\u043b\u044c\u0448\u0435 \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u0447\u0435\u043c \u0432\u044b\u0448\u0435\u043e\u043f\u0438\u0441\u0430\u043d\u043d\u044b\u0439 \ud83d\ude42<\/p>\n<h2>\u0412 \u0437\u0430\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435<\/h2>\n<p>\u041c\u044b \u043e\u0442\u043a\u0440\u044b\u0442\u044b \u043a \u043a\u0440\u0438\u0442\u0438\u043a\u0435 \u0432 \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u044f\u0445, \u0438 \u0434\u0430\u0436\u0435 \u043d\u0430\u0434\u0435\u0435\u043c\u0441\u044f \u043d\u0430 \u0442\u043e, \u0447\u0442\u043e \u044d\u043a\u0441\u043f\u0435\u0440\u0442\u044b \u0443\u043a\u0430\u0436\u0443\u0442 \u043d\u0430\u043c \u0431\u043e\u043b\u0435\u0435 \u043f\u0440\u043e\u0441\u0442\u043e\u0439 \u043f\u0443\u0442\u044c \u0434\u043b\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0432\u044b\u0448\u0435\u043e\u043f\u0438\u0441\u0430\u043d\u043d\u044b\u0445 \u0437\u0430\u0434\u0430\u0447, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u0440\u0430\u0431\u043e\u0442\u044b \u043f\u043e \u044d\u0442\u043e\u043c\u0443 \u043f\u0440\u043e\u0435\u043a\u0442\u0443 \u043f\u0440\u0435\u0434\u043f\u043e\u043b\u0430\u0433\u0430\u044e\u0442 \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e \u0441\u0445\u043e\u0436\u0438\u0435 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f, \u0442\u0430\u043a \u0447\u0442\u043e \u043e\u0447\u0435\u043d\u044c \u043f\u0440\u043e\u0441\u0438\u043c \u044d\u043a\u0441\u043f\u0435\u0440\u0442\u043e\u0432 \u043f\u043e \u0411\u0438\u0442\u0440\u0438\u043a\u0443 \u043f\u0440\u0438\u0441\u043e\u0435\u0434\u0438\u043d\u0438\u0442\u044c\u0441\u044f \u043a \u0434\u0438\u0441\u043a\u0443\u0441\u0441\u0438\u0438 \ud83d\ude42<\/p>\n<p>\u0412\u0430\u0448\u0430, room304<\/p>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"v-portal\" style=\"display:none;\"><\/div>\n<\/div>\n<p> <!----> <!----><br \/> \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"https:\/\/habr.com\/ru\/post\/655355\/\"> https:\/\/habr.com\/ru\/post\/655355\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<div><\/div>\n<div id=\"post-content-body\">\n<div>\n<div class=\"article-formatted-body article-formatted-body_version-2\">\n<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\">\n<h2>\u0410 \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u0435\u0435?<\/h2>\n<p>\u041c\u0435\u0441\u044f\u0446 \u043d\u0430\u0437\u0430\u0434 \u043d\u0430\u0448\u0430 \u043a\u043e\u043c\u0430\u043d\u0434\u0430 \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0430 \u0437\u0430\u0434\u0430\u0447\u0443 \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0433\u043e \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u043d\u0438\u044f: \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u0442\u0441\u044f \u043d\u043e\u0432\u044b\u0439 \u0441\u0430\u0439\u0442 \u043e\u043d\u043b\u0430\u0439\u043d-\u043c\u0430\u0433\u0430\u0437\u0438\u043d\u0430, \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0449\u0438\u0439 \u043d\u0430 \u0411\u0438\u0442\u0440\u0438\u043a\u0441, \u0432\u0441\u0435 \u0442\u043e\u0432\u0430\u0440\u044b \u0432 \u0435\u0433\u043e \u0431\u0430\u0437\u0435 \u043b\u0435\u0436\u0430\u0442 \u0443\u0436\u0435 \u043e\u0444\u043e\u0440\u043c\u043b\u0435\u043d\u043d\u044b\u0435, \u043e\u0434\u043d\u0430\u043a\u043e \u0444\u043e\u0442\u043e\u0433\u0440\u0430\u0444\u0438\u0438 \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u0442\u043e\u0432\u0430\u0440\u0430 \u0437\u0430\u043f\u043e\u043b\u043d\u0435\u043d\u044b \u043d\u0435 \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e (\u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u0442\u043e\u0432\u0430\u0440\u0430 \u0435\u0441\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u0434\u0435\u0442\u0430\u043b\u044c\u043d\u043e\u0435 \u0444\u043e\u0442\u043e, \u0430 \u043f\u0440\u0435\u0432\u044c\u044e-\u0444\u043e\u0442\u043e\u0433\u0440\u0430\u0444\u0438\u0438 \u0438 \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u044e\u0442). <\/p>\n<p>\u0414\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u0442\u043e\u0432\u0430\u0440\u0430 \u043d\u0443\u0436\u043d\u043e \u0431\u044b\u043b\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c:<\/p>\n<ul>\n<li>\n<p>\u0421\u043a\u0430\u0447\u0430\u0442\u044c \u043a\u0430\u0436\u0434\u0443\u044e \u0434\u0435\u0442\u0430\u043b\u044c\u043d\u0443\u044e \u0444\u043e\u0442\u043e\u0433\u0440\u0430\u0444\u0438\u044e<\/p>\n<\/li>\n<li>\n<p>\u0420\u0435\u0441\u0430\u0439\u0437\u043d\u0443\u0442\u044c \u0435\u0435 \u0432 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0435 \u0440\u0430\u0437\u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u0438 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0432 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 \u043e\u0442 \u0441\u0442\u0430\u0442\u0443\u0441\u0430 \u0442\u043e\u0432\u0430\u0440\u0430 (\u0440\u0430\u0437\u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u0444\u043e\u0442\u043e\u0433\u0440\u0430\u0444\u0438\u0438 \u0434\u043b\u044f \u043b\u044e\u043a\u0441-\u0442\u043e\u0432\u0430\u0440\u0430 \u0431\u043e\u043b\u044c\u0448\u0435, \u0447\u0435\u043c \u0434\u043b\u044f \u0442\u043e\u0432\u0430\u0440\u0430 \u0438\u0437 \u043a\u0430\u0442\u0435\u0433\u043e\u0440\u0438\u0438 &#171;\u043c\u0430\u0441\u0441-\u043c\u0430\u0440\u043a\u0435\u0442&#187;)<\/p>\n<\/li>\n<li>\n<p>\u0417\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044c \u044d\u0442\u0443 \u0444\u043e\u0442\u043e\u0433\u0440\u0430\u0444\u0438\u044e \u043a\u0430\u043a \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u0443\u044e \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0443<\/p>\n<\/li>\n<li>\n<p>\u0420\u0435\u0441\u0430\u0439\u0437\u043d\u0443\u0442\u044c \u044d\u0442\u0443 \u0436\u0435 \u0444\u043e\u0442\u043e\u0433\u0440\u0430\u0444\u0438\u044e \u0432 \u0440\u0430\u0437\u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u0442\u0440\u0435\u0431\u0443\u0435\u043c\u043e\u0435 \u0434\u043b\u044f \u0442\u0440\u0435\u0445 \u0442\u0438\u043f\u043e\u0432 \u043f\u0440\u0435\u0432\u044c\u044e-\u043a\u0430\u0440\u0442\u0438\u043d\u043e\u043a \u0442\u043e\u0432\u0430\u0440\u0430 \u0438 \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044c \u0432 \u043f\u043e\u043b\u044f \u043f\u0440\u0435\u0432\u044c\u044e-\u043a\u0430\u0440\u0442\u0438\u043d\u043e\u043a<\/p>\n<\/li>\n<li>\n<p>\u0412\u044b\u043a\u0430\u0447\u0430\u0442\u044c \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u0442\u043e\u0432\u0430\u0440\u0430 \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u0444\u043e\u0442\u043e\u0433\u0440\u0430\u0444\u0438\u0438 \u0441\u043e \u0441\u0442\u0430\u0440\u043e\u0433\u043e \u0441\u0430\u0439\u0442\u0430, \u0438 \u043f\u043e\u0434\u043e\u0433\u043d\u0430\u0442\u044c \u043f\u043e\u0434 \u0440\u0430\u0437\u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0439 \u0444\u043e\u0442\u043e\u0433\u0440\u0430\u0444\u0438\u0438 (\u0432 \u0440\u0430\u043c\u043a\u0430\u0445 \u044d\u0442\u043e\u0433\u043e \u043f\u043e\u0441\u0442\u0430 \u0431\u0443\u0434\u0435\u043c \u0441\u0447\u0438\u0442\u0430\u0442\u044c, \u0447\u0442\u043e \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \u043a  \u0431\u0430\u0437\u0435 \u0441\u0442\u0430\u0440\u043e\u0433\u043e \u0441\u0430\u0439\u0442\u0430 \u043d\u0435\u0442)<\/p>\n<\/li>\n<li>\n<p>\u0417\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044c \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u0444\u043e\u0442\u043e\u0433\u0440\u0430\u0444\u0438\u0438 \u0432 \u0440\u0430\u0437\u0434\u0435\u043b \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0445 \u043a\u0430\u0440\u0442\u0438\u043d\u043e\u043a<\/p>\n<\/li>\n<\/ul>\n<p>\u0422\u0430\u043a \u043a\u0430\u043a \u043c\u044b \u043e\u0431\u0449\u0430\u0435\u043c\u0441\u044f \u0432 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u043c \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 \u043f\u0438\u0442\u043e\u043d\u0430, \u0441 \u0411\u0438\u0442\u0440\u0438\u043a\u0441\u043e\u043c \u043d\u0435 \u0437\u043d\u0430\u043a\u043e\u043c\u044b, \u0430 \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u043c\u043e\u0434\u0443\u043b\u0435\u0439 \u043d\u0430 PHP \u044d\u0442\u043e \u0432\u043e\u043e\u0431\u0449\u0435 \u0434\u043b\u044f \u043d\u0430\u0441 \u043c\u0440\u0430\u043a, \u043c\u044b \u043d\u0430\u0447\u0430\u043b\u0438 \u0438\u0441\u043a\u0430\u0442\u044c \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e \u043a\u0430\u043a \u044d\u0442\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u043f\u0440\u043e\u0441\u0442\u043e, \u0436\u0435\u043b\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u0435\u0449\u0435 \u0438 \u043d\u0430 Python. \u0418\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438 \u0431\u044b\u043b\u043e \u043c\u0430\u043b\u043e, \u0430 \u0442\u043e\u0447\u043d\u0435\u0435 \u043f\u043e\u0447\u0442\u0438 \u043d\u043e\u043b\u044c, \u043f\u043e\u044d\u0442\u043e\u043c\u0443, \u0434\u043b\u044f \u0442\u0430\u043a\u0438\u0445 \u0436\u0435 \u043b\u044e\u0431\u0438\u0442\u0435\u043b\u0435\u0439 \u043d\u0430\u0432\u0430\u043b\u0438\u0442\u044c \u0436\u0435\u0441\u0442\u043a\u043e\u0433\u043e \u043f\u0430\u0439\u0442\u043e\u043d-\u043a\u043e\u0434\u0430 \u0432 \u0442\u0430\u043a\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435, \u0430 \u043d\u0435 \u0440\u0435\u0448\u0430\u0442\u044c \u0432\u0441\u0435 \u0432\u043e\u043f\u0440\u043e\u0441\u044b \u0432\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u044b\u043c\u0438 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0430\u043c\u0438 \u0438 \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0430 \u044d\u0442\u0430 \u0441\u0442\u0430\u0442\u044c\u044f. \u041f\u0440\u0435\u0434\u043f\u043e\u043b\u043e\u0433\u0430\u0435\u0442\u0441\u044f, \u0447\u0442\u043e \u0432\u044b \u0437\u043d\u0430\u0435\u0442\u0435 \u043a\u0430\u043a \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c c Python \u0438 SQL, \u0437\u043d\u0430\u0435\u0442\u0435 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 requests, bs4, sqlite3, \u0435\u0441\u043b\u0438 \u043d\u0435\u0442, \u0442\u043e \u0432\u0441\u0435 \u0440\u0430\u0432\u043d\u043e \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f \u0431\u0443\u0434\u0435\u0442 \u043f\u043e\u043b\u0435\u0437\u043d\u043e\u0439.<\/p>\n<h2>\u0428\u0430\u0433 1. \u041c\u0430\u0441\u0441\u043e\u0432\u043e \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c \u0441\u0441\u044b\u043b\u043a\u0438 \u043d\u0430 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f \u0441 \u0411\u0438\u0442\u0440\u0438\u043a\u0441\u0430<\/h2>\n<p>\u041d\u0430 \u044d\u0442\u043e\u043c \u044d\u0442\u0430\u043f\u0435 \u043c\u044b \u043f\u043e\u0442\u0440\u0430\u0442\u0438\u043b\u0438 \u0431\u043e\u043b\u044c\u0448\u0435 \u0432\u0441\u0435\u0433\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0438, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u043d\u0435 \u0437\u0430\u043c\u0435\u0442\u0438\u043b\u0438 \u043e\u0434\u043d\u0443 \u043c\u0430\u043b\u0435\u043d\u044c\u043a\u0443\u044e \u043a\u043d\u043e\u043f\u043e\u0447\u043a\u0443, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u043d\u0430\u043c\u043d\u043e\u0433\u043e \u0443\u043f\u0440\u043e\u0441\u0442\u0438\u0442\u044c \u0432\u044b\u043a\u0430\u0447\u043a\u0443 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0439 \u0438 \u043d\u0435 \u0437\u0430\u043d\u0438\u043c\u0430\u0442\u044c\u0441\u044f \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0438\u0435\u043c \u043f\u0430\u0440\u0441\u0435\u0440\u043e\u0432, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u044d\u043c\u0443\u043b\u0438\u0440\u0443\u044e\u0442 \u0441\u0435\u0441\u0441\u0438\u044e \u0438 \u0442\u0430\u043a \u0434\u0430\u043b\u0435\u0435.<\/p>\n<p>\u041f\u0435\u0440\u0432\u043e\u0435, \u0447\u0442\u043e \u043d\u0443\u0436\u043d\u043e \u0437\u043d\u0430\u0442\u044c: \u0434\u043b\u044f \u0442\u043e\u0433\u043e, \u0447\u0442\u043e\u0431 \u0441\u043a\u0430\u0447\u0430\u0442\u044c \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0435 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043f\u0438\u0442\u043e\u043d\u0430 <s>\u0434\u0430 \u0438 \u043f\u0440\u043e\u0441\u0442\u043e \u0441\u043a\u0430\u0447\u0430\u0442\u044c<\/s>  \u043d\u0443\u0436\u043d\u043e \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u043f\u0440\u044f\u043c\u0443\u044e \u0441\u0441\u044b\u043b\u043a\u0443 \u043d\u0430 \u044d\u0442\u043e \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0435. \u042d\u0442\u043e \u043c\u043e\u0436\u043d\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u043f\u0440\u043e\u043f\u0430\u0440\u0441\u0438\u0432 \u043a\u0430\u0440\u0442\u043e\u0447\u043a\u0443 \u0442\u043e\u0432\u0430\u0440\u0430 \u0432 \u0411\u0438\u0442\u0440\u0438\u043a\u0441\u0435, \u0430 \u043c\u043e\u0436\u043d\u043e \u043f\u0440\u043e\u0441\u0442\u043e (\u043a\u0430\u043a \u043e\u043a\u0430\u0437\u0430\u043b\u043e\u0441\u044c) \u0441\u043a\u0430\u0447\u0430\u0442\u044c \u0442\u0430\u0431\u043b\u0438\u0446\u0443 \u0441 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0438\u0435\u043c ID \u0442\u043e\u0432\u0430\u0440\u0430 \u0438 \u0441\u0441\u044b\u043b\u043a\u043e\u0439 \u043d\u0430 \u0434\u0435\u0442\u0430\u043b\u044c\u043d\u043e\u0435 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0435.<\/p>\n<p>\u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u0438\u0434\u0435\u043c \u0432 \u041a\u043e\u043d\u0442\u0435\u043d\u0442 > \u041a\u0430\u0442\u0430\u043b\u043e\u0433 > \u041a\u0430\u0442\u0430\u043b\u043e\u0433 \u0442\u043e\u0432\u0430\u0440\u043e\u0432 > \u042d\u043b\u0435\u043c\u0435\u043d\u0442\u044b<\/p>\n<figure class=\"full-width\"><figcaption>\u041a\u0430\u0442\u0430\u043b\u043e\u0433 \u0442\u043e\u0432\u0430\u0440\u043e\u0432 \u0411\u0438\u0442\u0440\u0438\u043a\u0441<\/figcaption><\/figure>\n<p>\u0412\u0438\u0434\u0438\u0442\u0435 \u0448\u0435\u0441\u0442\u0435\u0440\u0435\u043d\u043a\u0443, \u0432\u044b\u0434\u0435\u043b\u0435\u043d\u043d\u0443\u044e \u043d\u0430 \u0444\u043e\u0442\u043e? \u0416\u043c\u0435\u043c \u043d\u0430 \u043d\u0435\u0435 \u0438 \u043d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u043c \u043f\u043e\u043b\u044f, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0431\u0443\u0434\u0443\u0442 \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u044b \u0432 \u0442\u0430\u0431\u043b\u0438\u0446\u0435 \u0432 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 \u043e\u0442 \u0432\u0430\u0448\u0435\u0439 \u0437\u0430\u0434\u0430\u0447\u0438.<\/p>\n<figure class=\"full-width\"><figcaption>\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u0442\u0430\u0431\u043b\u0438\u0446\u044b<\/figcaption><\/figure>\n<p>\u0414\u043b\u044f \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e \u043d\u0430\u0448\u0435\u0439 \u0437\u0430\u0434\u0430\u0447\u0438 \u043d\u0430\u043c \u043d\u0443\u0436\u043d\u0430 \u0431\u044b\u043b\u0430 \u0442\u043e\u043b\u044c\u043a\u043e \u0434\u0435\u0442\u0430\u043b\u044c\u043d\u0430\u044f \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0430, \u043d\u043e \u0432 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 \u043e\u0442 \u0432\u0430\u0448\u0435\u0439 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u043c\u043e\u0433\u0443\u0442 \u043e\u0442\u043b\u0438\u0447\u0430\u0442\u044c\u0441\u044f.<\/p>\n<p>\u041d\u0430\u0436\u0438\u043c\u0430\u0435\u043c \u043a\u043d\u043e\u043f\u043a\u0443 &#171;\u041f\u0440\u0438\u043c\u0435\u043d\u0438\u0442\u044c&#187; \u0438 \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c \u0432\u043e\u0442 \u0442\u0430\u043a\u043e\u0439 \u043f\u0440\u0435\u043a\u0440\u0430\u0441\u043d\u044b\u0439 \u0432\u0438\u0434 \u043d\u0430 \u0442\u0430\u0431\u043b\u0438\u0446\u0443 \u043d\u0430\u0448\u0438\u0445 \u0442\u043e\u0432\u0430\u0440\u043e\u0432<\/p>\n<figure class=\"full-width\"><figcaption><\/figcaption><\/figure>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u043d\u0430\u043c \u044d\u0442\u0443 \u0442\u0430\u0431\u043b\u0438\u0446\u0443 \u043d\u0443\u0436\u043d\u043e \u0441\u043a\u0430\u0447\u0430\u0442\u044c \u043a\u0430\u043a \u043e\u0431\u044b\u0447\u043d\u0443\u044e Excel \u0442\u0430\u0431\u043b\u0438\u0446\u0443. \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u043d\u0430\u0436\u0438\u043c\u0430\u0435\u043c \u0432\u043e\u0442 \u044d\u0442\u0443 \u043a\u043d\u043e\u043f\u043e\u0447\u043a\u0443:<\/p>\n<figure class=\"bordered full-width\"><figcaption><\/figcaption><\/figure>\n<p>\u041f\u043e\u0437\u0434\u0440\u0430\u0432\u043b\u044f\u0435\u043c, \u0432\u044b \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u043b\u0438 \u043f\u043e\u043b\u043d\u0443\u044e Excel-\u0442\u0430\u0431\u043b\u0438\u0446\u0443 \u0441\u043e \u0432\u0441\u0435\u043c\u0438 \u0442\u043e\u0432\u0430\u0440\u0430\u043c\u0438, \u0438\u0445 \u0430\u0439\u0434\u0438\u0448\u043d\u0438\u043a\u0430\u043c\u0438, \u0430\u0440\u0442\u0438\u043a\u0443\u043b\u0430\u043c\u0438 \u0438 \u0441\u0441\u044b\u043b\u043a\u0430\u043c\u0438 \u043d\u0430 \u0434\u0435\u0442\u0430\u043b\u044c\u043d\u0443\u044e \u0444\u043e\u0442\u043e\u0433\u0440\u0430\u0444\u0438\u044e.<\/p>\n<p>\u0418 \u0435\u0441\u043b\u0438 \u0432\u044b \u0443\u0436\u0435 \u043f\u0440\u0438\u0433\u043e\u0442\u043e\u0432\u0438\u043b\u0438\u0441\u044c \u0440\u0430\u0441\u0447\u0435\u0445\u043b\u044f\u0442\u044c \u0441\u0432\u043e\u0439 \u043c\u043e\u0434\u0443\u043b\u044c \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u044d\u043a\u0441\u0435\u043b\u044c-\u0442\u0430\u0431\u043b\u0438\u0446\u0430\u043c\u0438 \u0432 \u043f\u0438\u0442\u043e\u043d\u0435, \u0442\u043e \u0441\u043f\u0435\u0448\u0443 \u0432\u0430\u0441 \u043e\u0431\u043b\u043e\u043c\u0430\u0442\u044c \u0438 \u043e\u0442\u043a\u0440\u044b\u0442\u044c \u0441\u043a\u0430\u0447\u0430\u043d\u043d\u044b\u0439 \u0444\u0430\u0439\u043b \u0432 \u0442\u0435\u043a\u0441\u0442\u043e\u0432\u043e\u043c \u0440\u0435\u0434\u0430\u043a\u0442\u043e\u0440\u0435:<\/p>\n<figure class=\"full-width\"><figcaption><\/figcaption><\/figure>\n<p>\u041e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f, \u044d\u0442\u043e \u043e\u0431\u044b\u0447\u043d\u044b\u0439 html-\u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442, \u0447\u0442\u043e \u043d\u0435 \u043c\u043e\u0436\u0435\u0442 \u043d\u0430\u0441 \u043a\u043e\u043d\u0435\u0447\u043d\u043e \u043d\u0435 \u0440\u0430\u0434\u043e\u0432\u0430\u0442\u044c. \u0411\u044b\u043b\u043e \u0431\u044b \u043d\u0435\u043f\u043b\u043e\u0445\u043e \u043f\u0440\u0438\u0432\u0435\u0441\u0442\u0438 \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 \u0432 \u043f\u043b\u044e\u0441-\u043c\u0438\u043d\u0443\u0441 \u0443\u0434\u043e\u0431\u043d\u044b\u0439 \u0444\u043e\u0440\u043c\u0430\u0442, \u0442\u043e \u0435\u0441\u0442\u044c \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044c \u044d\u0442\u043e \u0432 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u0443\u044e \u0431\u0430\u0437\u0443 \u0434\u0430\u043d\u043d\u044b\u0445. \u041f\u0440\u0435\u0436\u0434\u0435 \u0447\u0435\u043c \u0447\u0442\u043e-\u0442\u043e \u0437\u0430\u0433\u0440\u0443\u0436\u0430\u0442\u044c \u0432 \u0442\u0430\u0431\u043b\u0438\u0446\u0443, \u0435\u0435 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0441\u043e\u0437\u0434\u0430\u0442\u044c:<\/p>\n<p><sub>(\u0445\u043e\u0447\u0443 \u043e\u0431\u0440\u0430\u0442\u0438\u0442\u044c \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435, \u0447\u0442\u043e \u044d\u0442\u043e\u0442 \u0448\u0430\u0433 \u043d\u0435 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u043c, \u0438 \u0435\u0441\u043b\u0438 \u0432\u0430\u043c \u0443\u0434\u043e\u0431\u043d\u043e \u0445\u0440\u0430\u043d\u0438\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0435 \u0432 json, txt, \u044d\u0442\u043e\u0439 \u0436\u0435 \u0442\u0430\u0431\u043b\u0438\u0446\u0435, \u043f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430).<\/sub> <\/p>\n<pre><code class=\"sql\">CREATE TABLE \"elements\" ( \"id\"INTEGER,  \"article\"INTEGER, \"detail\"TEXT, \"additional\"TEXT, \"prev1\"TEXT, \"prev2\"TEXT, \"prev3\"TEXT, \"additional_handled\"TEXT );<\/code><\/pre>\n<p>\u0427\u0442\u043e \u044d\u0442\u043e \u0437\u0430 \u043f\u043e\u043b\u044f:<\/p>\n<ol>\n<li>\n<p>id &#8212; \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440 \u0442\u043e\u0432\u0430\u0440\u0430 \u0432 \u0431\u0438\u0442\u0440\u0438\u043a\u0441\u0435 (\u043b\u043e\u0433\u0438\u0447\u043d\u043e)<\/p>\n<\/li>\n<li>\n<p>article &#8212; \u0435\u0433\u043e \u0430\u0440\u0442\u0438\u043a\u0443\u043b<\/p>\n<\/li>\n<li>\n<p>detail &#8212; \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u0434\u0435\u0442\u0430\u043b\u044c\u043d\u0443\u044e \u0444\u043e\u0442\u043e\u0433\u0440\u0430\u0444\u0438\u044e, \u043a\u043e\u0442\u043e\u0440\u0443\u044e \u043c\u044b \u0441\u043a\u0430\u0447\u0430\u043b\u0438<\/p>\n<\/li>\n<li>\n<p>additional &#8212; \u0447\u0435\u0440\u0435\u0437 \u0442\u043e\u0447\u043a\u0443 \u0441 \u0437\u0430\u043f\u044f\u0442\u043e\u0439 \u0441\u0441\u044b\u043b\u043a\u0438 \u043d\u0430 \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u0444\u043e\u0442\u043e\u0433\u0440\u0430\u0444\u0438\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0431\u0443\u0434\u0443\u0442 \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u044b \u043f\u0440\u0438 \u043f\u0430\u0440\u0441\u0438\u043d\u0433\u0435 \u0441\u0442\u0430\u0440\u043e\u0433\u043e \u0441\u0430\u0439\u0442\u0430<\/p>\n<\/li>\n<li>\n<p>prev1 &#8212; \u0438\u043c\u044f \u0444\u0430\u0439\u043b\u0430 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0430\u043d\u043d\u043e\u0439 \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0438 \u0441 \u0434\u043b\u044f \u043f\u0435\u0440\u0432\u043e\u0439 \u043f\u0435\u0440\u0432\u044c\u044e-\u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0438<\/p>\n<\/li>\n<li>\n<p>prev2 &#8212; \u0438\u043c\u044f \u0444\u0430\u0439\u043b\u0430 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0430\u043d\u043d\u043e\u0439 \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0438 \u0441 \u0434\u043b\u044f \u0432\u0442\u043e\u0440\u043e\u0439 \u043f\u0435\u0440\u0432\u044c\u044e-\u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0438<\/p>\n<\/li>\n<li>\n<p>prev3 &#8212; \u0438\u043c\u044f \u0444\u0430\u0439\u043b\u0430 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0430\u043d\u043d\u043e\u0439 \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0438 \u0441 \u0434\u043b\u044f \u0442\u0440\u0435\u0442\u044c\u0435\u0439 \u043f\u0435\u0440\u0432\u044c\u044e-\u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0438<\/p>\n<\/li>\n<li>\n<p>additional_handled &#8212; \u0447\u0435\u0440\u0435\u0437 \u0442\u043e\u0447\u043a\u0443 \u0441 \u0437\u0430\u043f\u044f\u0442\u043e\u0439 \u0438\u043c\u0435\u043d\u0430 \u0444\u0430\u0439\u043b\u043e\u0432 \u0441 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0430\u043d\u043d\u044b\u043c\u0438 \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u043c\u0438 \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0430\u043c\u0438<\/p>\n<\/li>\n<\/ol>\n<p>\u0412\u043e\u0442 \u0442\u0435\u043f\u0435\u0440\u044c \u043c\u043e\u0436\u043d\u043e \u043f\u0435\u0440\u0435\u0433\u043e\u043d\u044f\u0442\u044c \u043d\u0430\u0448 \u0441\u043a\u0430\u0447\u0430\u043d\u043d\u044b\u0439 \u044d\u043a\u0441\u0435\u043b\u044c \u0432 \u0447\u0438\u0442\u0430\u0435\u043c\u0443\u044e \u0431\u0430\u0437\u0443:<\/p>\n<pre><code class=\"python\">import sqlite3  from bs4 import BeautifulSoup import lxml  # \u043d\u0430\u0448\u0430 \u0442\u0430\u0431\u043b\u0438\u0446\u0430 \u043b\u0435\u0436\u0438\u0442 \u0432 \u0444\u0430\u0439\u043b\u0435 detail_images.xls  with open('detail_images.xls', 'r', encoding='utf-8') as file:   \"\"\" \u0432\u0430\u0436\u043d\u043e \u043d\u0435 \u0437\u0430\u0431\u044b\u0442\u044c \u0443\u043a\u0430\u0437\u0430\u0442\u044c \u043a\u043e\u0434\u0438\u0440\u043e\u0432\u043a\u0443 \u043f\u0440\u0438 \u043e\u0442\u043a\u0440\u044b\u0442\u0438\u0438 \u0444\u0430\u0439\u043b\u0430, \u0438\u043d\u0430\u0447\u0435      \u0432\u0441\u0435 \u0441\u0447\u0438\u0442\u044b\u0432\u0430\u043d\u0438\u0435 \u0441\u043b\u043e\u043c\u0430\u0435\u0442\u0441\u044f\"\"\"     soup = BeautifulSoup(file.read(), features='lxml')     \"\"\"\u0437\u0430\u0433\u0440\u0443\u0436\u0430\u0435\u043c \u0432\u0441\u0435, \u0447\u0442\u043e \u043c\u044b \u0441\u0447\u0438\u0442\u0430\u043b\u0438 \u0441 \u0444\u0430\u0439\u043b\u0430 \u0432 \u0441\u043e\u0443\u043f, \u043d\u0435 \u0437\u0430\u0431\u044b\u0432\u0430\u044f \u0443\u043a\u0430\u0437\u0430\u0442\u044c features\"\"\" table = soup.find('table') \"\"\"\u043d\u0430\u0445\u043e\u0434\u0438\u043c \u0442\u0430\u0431\u043b\u0438\u0446\u0443 \u0432 \u0444\u0430\u0439\u043b\u0435 \u043f\u043e \u0442\u044d\u0433\u0443\"\"\" rows : list= table.find_all('tr') \"\"\" \u0432 \u043c\u0430\u0441\u0441\u0438\u0432\u0435 rows \u043b\u0435\u0436\u0430\u0442 \u0432\u0441\u0435 \u0440\u044f\u0434\u044b \u0442\u0430\u0431\u043b\u0438\u0446\u044b\"\"\" database_connection = sqlite3.connect('base.db')  cursor = database_connection.cursor() # \u043e\u0442\u043a\u0440\u044b\u0432\u0430\u0435\u043c \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435 \u0441 \u0431\u0430\u0437\u043e\u0439 \u0438 \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c \u043a\u0443\u0440\u0441\u043e\u0440 for row in rows[1:]: # \u0441\u0440\u0435\u0437 \u043d\u0443\u0436\u0435\u043d \u043f\u043e\u0442\u043e\u043c\u0443, \u0447\u0442\u043e \u0432 \u043d\u0443\u043b\u0435\u0432\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0435 \u0442\u0430\u0431\u043b\u0438\u0446\u044b \u043b\u0435\u0436\u0430\u0442 \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u0438     cols : list = row.find_all('td')     # \u0432 \u043c\u0430\u0441\u0441\u0438\u0432\u0435 cols \u043b\u0435\u0436\u0430\u0442 \u044f\u0447\u0435\u0439\u043a\u0438 \u0442\u0430\u0431\u043b\u0438\u0446\u044b \u0432 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e\u043c \u0440\u044f\u0434\u0443 row     detail = cols[0].text     element_id = int(cols[1].text)     try: article = int(cols[2].text); # \u0430\u0440\u0442\u0438\u043a\u0443\u043b\u044b \u0438\u043d\u043e\u0433\u0434\u0430 \u0438\u043c\u0435\u044e\u0442 \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u043e \u0431\u044b\u0442\u044c \u0441\u0442\u0440\u043e\u0447\u043a\u0430\u043c\u0438 \u0438\u043b\u0438 \u043f\u0443\u0441\u0442\u044b\u043c\u0438     except Exception: article = -1; # \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0442\u0430\u043a\u0438\u043c \u0442\u043e\u0432\u0430\u0440\u0438\u0449\u0430\u043c \u043c\u044b \u043f\u0440\u0438\u0441\u0432\u0430\u0438\u0432\u0430\u0435\u043c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 -1, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u044d\u0442\u043e     # \u044d\u0442\u043e \u043d\u0435\u0432\u0430\u043b\u0438\u0434\u043d\u044b\u0435 \u0442\u043e\u0432\u0430\u0440\u044b, \u0438\u0445 \u043c\u044b \u043d\u0435 \u043e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0435\u043c     cursor.execute(\"INSERT INTO elements VALUES ({}, {}, '{}', '', '', '', '', '')\"\\                    .format(element_id, article, detail))     # \u0437\u0430\u0433\u0440\u0443\u0436\u0430\u0435\u043c \u0432 \u0442\u0430\u0431\u043b\u0438\u0446\u0443 elements \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u044b\u0435 \u043d\u0430\u043c\u0438 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f          database_connection.commit() database_connection.close() <\/code><\/pre>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u0435\u0441\u043b\u0438 \u043c\u044b \u043e\u0442\u043a\u0440\u043e\u0435\u043c \u0431\u0430\u0437\u0443 \u0434\u0430\u043d\u043d\u044b\u0445, \u043c\u044b \u0443\u0432\u0438\u0434\u0438\u043c \u0441\u0442\u043e\u043b\u044c \u043e\u0442\u0440\u0430\u0434\u043d\u0443\u044e \u043a\u0430\u0440\u0442\u0438\u043d\u0443:<\/p>\n<h2>\u0428\u0430\u0433 2. \u041f\u0430\u0440\u0441\u0438\u043d\u0433 \u043a\u0430\u0440\u0442\u0438\u043d\u043e\u043a \u0441\u043e \u0441\u0442\u0430\u0440\u043e\u0433\u043e \u0441\u0430\u0439\u0442\u0430 \u0411\u0438\u0442\u0440\u0438\u043a\u0441<\/h2>\n<p>\u041e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u044d\u0442\u043e\u0433\u043e \u0448\u0430\u0433\u0430 \u0441\u043a\u043e\u0440\u0435\u0435 \u0432\u0441\u0435\u0433\u043e \u0431\u0443\u0434\u0435\u0442 \u043d\u0430\u0438\u043c\u0435\u043d\u0435\u0435 \u043f\u043e\u043b\u0435\u0437\u043d\u044b\u043c, \u0442\u0430\u043a \u043a\u0430\u043a \u043f\u0430\u0440\u0441\u0435\u0440\u044b \u2014 \u044d\u0442\u043e \u0448\u0442\u0443\u043a\u0438, \u043f\u0438\u0448\u0443\u0449\u0438\u0435\u0441\u044f \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e\u0433\u043e \u0441\u0430\u0439\u0442\u0430. \u041e\u0434\u043d\u0430\u043a\u043e, \u0438\u0437 \u044d\u0442\u043e\u0433\u043e \u0448\u0430\u0433\u0430 \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0447\u0435\u0440\u043f\u043d\u0443\u0442\u044c \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u043e\u043b\u0435\u0437\u043d\u044b\u0435 \u0438\u0434\u0435\u0438.<br \/>\u0422\u043e\u0432\u0430\u0440\u044b \u043d\u0430 \u0441\u0442\u0430\u0440\u043e\u043c \u0441\u0430\u0439\u0442\u0435 \u0431\u0443\u0434\u0435\u043c \u0438\u0441\u043a\u0430\u0442\u044c \u043f\u043e \u0438\u0445 \u0430\u0440\u0442\u0438\u043a\u0443\u043b\u0443. \u0414\u0443\u043c\u0430\u044e, \u0447\u0442\u043e \u0441\u0430\u0439\u0442\u044b, \u0441\u0434\u0435\u043b\u0430\u043d\u043d\u044b\u0435 \u043d\u0430 \u0411\u0438\u0442\u0440\u0438\u043a\u0441\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0442 \u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u043e, \u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u044d\u0442\u0430 \u0441\u0442\u0440\u0430\u0442\u0435\u0433\u0438\u044f \u0431\u0443\u0434\u0435\u0442 \u043f\u0440\u0438\u043c\u0435\u043d\u0438\u043c\u0430 \u043a\u043e \u0432\u0441\u0435\u043c \u0442\u0430\u043a\u0438\u043c \u0441\u0430\u0439\u0442\u0430\u043c.<\/p>\n<p>\u0412 \u043f\u0435\u0440\u0432\u0443\u044e \u043e\u0447\u0435\u0440\u0435\u0434\u044c \u0438\u043c\u043f\u043e\u0440\u0442\u0438\u0440\u0443\u0435\u043c \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0443 requests,  \u0434\u043e\u0431\u0430\u0432\u0438\u043c \u043a\u043b\u0430\u0441\u0441 \u043e\u0448\u0438\u0431\u043a\u0438, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0432\u044b\u043b\u0435\u0442\u0438\u0442 \u0432 \u0441\u043b\u0443\u0447\u0430\u0435 \u0435\u0441\u043b\u0438 \u0442\u043e\u0432\u0430\u0440 \u043f\u043e \u0430\u0440\u0442\u0438\u043a\u0443\u043b\u0443 \u043d\u0435 \u043d\u0430\u0439\u0434\u0435\u043d, \u0438\u043b\u0438 \u0442\u0430\u043a\u0438\u0445 \u0434\u0432\u0430 (\u0434\u0430, \u0431\u044b\u0432\u0430\u044e\u0442 \u0438 \u0442\u0430\u043a\u0438\u0435 \u0441\u043b\u0443\u0447\u0430\u0438) )<\/p>\n<pre><code class=\"python\">import requests  class ArticleException(Exception):     pass<\/code><\/pre>\n<p>\u0417\u0430\u0433\u043e\u043d\u0438\u043c \u0432 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 \u043d\u0443\u0436\u043d\u0443\u044e \u0438\u043d\u0444\u0443:<\/p>\n<pre><code class=\"python\">headers = {'User-Agent': 'Mozilla\/5.0 (Macintosh; Intel Mac OS X 10.9; rv:45.0) Gecko\/20100101 Firefox\/45.0'} oldSiteSearchUrlTemplate : str = \"https:\/\/bma.kz\/catalog\/?search={}\" # \u0432 \u044d\u0442\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0435 \u0434\u043e\u043b\u0436\u043d\u043e \u043b\u0435\u0436\u0430\u0442\u044c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0430\u0434\u0440\u0435\u0441\u043d\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0438 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0430 \u043f\u0440\u0438  # \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0438 \u043f\u043e\u0438\u0441\u043a\u0430 \u043d\u0430 \u0441\u0430\u0439\u0442\u0435, \u0441 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430\u043c\u0438 \u043f\u043e\u0438\u0441\u043a\u0430 \u0437\u0430\u043c\u0435\u043d\u0435\u043d\u043d\u044b\u043c\u0438 \u043d\u0430 {} old_site_domain = \"https:\/\/bma.kz\" # \u043f\u0440\u043e\u0441\u0442\u043e \u0430\u0434\u0440\u0435\u0441 \u0441\u0430\u0439\u0442\u0430<\/code><\/pre>\n<p>headers &#8212; \u044d\u0442\u043e \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u0438 GET-\u0437\u0430\u043f\u0440\u043e\u0441\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u043e\u0434\u043f\u0438\u0448\u0443\u0442 \u043d\u0430\u0448\u0438 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u0437\u0430\u043f\u0440\u043e\u0441\u044b \u043a\u0430\u043a \u0441\u043e\u0432\u0441\u0435\u043c \u043d\u0435 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0435<\/p>\n<p>\u0414\u0430\u043b\u044c\u0448\u0435 \u0441\u043e\u0431\u0435\u0440\u0435\u043c \u043c\u0430\u0441\u0441\u0438\u0432 \u0430\u0440\u0442\u0438\u043a\u0443\u043b\u043e\u0432 \u043d\u0430\u0448\u0438\u0445 \u0442\u043e\u0432\u0430\u0440\u043e\u0432<\/p>\n<pre><code class=\"python\">database_connection = sqlite3.connect('base.db') cursor = database_connection.cursor() cursor.execute(\"SELECT * FROM elements\") # \u0437\u0430\u0431\u0438\u0440\u0430\u0435\u043c \u0432\u0441\u0435 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u044b \u0438\u0437 \u0431\u0430\u0437\u044b articles = [x[1] for x in cursor.fetchall()] # \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u0435\u043c \u0432 \u043c\u0430\u0441\u0441\u0438\u0432 \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u043e\u043b\u0435 \u0441  # \u0438\u043d\u0434\u0435\u043a\u0441\u043e\u043c 1, \u0442\u043e \u0435\u0441\u0442\u044c \u0430\u0440\u0442\u0438\u043a\u0443\u043b <\/code><\/pre>\n<p>\u041f\u0440\u043e\u0431\u0435\u0433\u0430\u044f \u043f\u043e \u043c\u0430\u0441\u0441\u0438\u0432\u0443 \u0430\u0440\u0442\u0438\u043a\u0443\u043b\u043e\u0432: <\/p>\n<pre><code class=\"python\">for article in articles:      response = requests.get(oldSiteSearchUrlTemplate.format(article),                              headers = headers)     # \u0437\u0430\u043f\u0440\u0430\u0448\u0438\u0432\u0430\u0435\u043c \u043f\u043e\u0438\u0441\u043a\u043e\u0432\u0443\u044e \u0432\u044b\u0434\u0430\u0447\u0443 \u043f\u043e \u0430\u0440\u0442\u0438\u043a\u0443\u043b\u0443, \u043f\u043e\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u044f \u0435\u0433\u043e \u0432 \u0448\u0430\u0431\u043b\u043e\u043d     # \u0430\u0434\u0440\u0435\u0441\u0430 \u043f\u043e\u0438\u0441\u043a\u043e\u0432\u043e\u0439 \u0432\u044b\u0434\u0430\u0447\u0438 \u043d\u0430 \u0441\u0430\u0439\u0442\u0435     response_soap = BeautifulSoup(response.text, features='lxml')     try:         elementDivs = response_soap.find_all(\"div\",                                               {'class' : \"cata-list-item\"})         # \u043d\u0430\u0445\u043e\u0434\u0438\u043c \u0432\u0441\u0435 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u044b \u043a\u043b\u0430\u0441\u0441\u0430 cata-list-item  # \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u044b \u044d\u0442\u043e\u0433\u043e \u043a\u043b\u0430\u0441\u0441\u0430 \u2014 \u043a\u0430\u0440\u0442\u043e\u0447\u043a\u0438 \u0442\u043e\u0432\u0430\u0440\u043e\u0432, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0432\u044b\u0434\u0430\u044e\u0442\u0441\u044f \u0432\u0430\u043c # \u043a\u043e\u0433\u0434\u0430 \u0432\u044b \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442\u0435 \u043f\u043e\u0438\u0441\u043a\u043e\u0432\u043e\u0439 \u0437\u0430\u043f\u0440\u043e\u0441         print(len(elementDivs), end = '\\t')         if len(elementDivs) == 1:            # \u0435\u0441\u043b\u0438 \u0442\u0430\u043a\u043e\u0439 \u044d\u043b\u0435\u043c\u0435\u043d\u0442 \u0440\u043e\u0432\u043d\u043e \u043e\u0434\u0438\u043d, \u0442\u043e \u0442\u043e\u0433\u0434\u0430 \u0443 \u043d\u0430\u0441 \u0432\u0441\u0435 \u043a\u043b\u0430\u0441\u0441\u043d\u043e             # \u0438 \u043e\u0434\u043d\u043e\u043c\u0443 \u0430\u0440\u0442\u0438\u043a\u0443\u043b\u0443 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u043e\u0434\u0438\u043d \u0442\u043e\u0432\u0430\u0440             elementDiv = elementDivs[0]             url = elementDiv.find('a')['href']             # \u0432\u044b\u0433\u0440\u0443\u0436\u0430\u0435\u043c \u0438\u0437 \u044d\u0442\u043e\u0433\u043e \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430 \u0441\u0441\u044b\u043b\u043a\u0443 \u043d\u0430 \u043a\u0430\u0440\u0442\u043e\u0447\u043a\u0443 \u0442\u043e\u0432\u0430\u0440\u0430             response = requests.get(old_site_domain + url, headers = headers)             response_soap = BeautifulSoup(response.text, features = 'lxml')             # \u0434\u0435\u043b\u0430\u0435\u043c \u0437\u0430\u043f\u0440\u043e\u0441 \u043a \u043a\u0430\u0440\u0442\u043e\u0447\u043a\u0435 \u0442\u043e\u0432\u0430\u0440\u0430             dop_photo = response_soap.find('div', {'class' : 'cata-d-dopphoto'})             # \u0438\u0449\u0435\u043c \u043d\u0430 \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u043e\u0439 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0435 \u0432\u0441\u0435 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u044b \u043a\u043b\u0430\u0441\u0441\u0430 # cata-d-dopphoto: \u044d\u0442\u043e \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440 \u0434\u043b\u044f \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0445 \u0444\u043e\u0442\u043e\u0433\u0440\u0430\u0444\u0438\u0439             dop_photo_containers = dop_photo.find_all('img')            # \u0438\u0437 \u044d\u0442\u043e\u0433\u043e \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u0430 \u0432\u044b\u043b\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u043c \u0432\u0441\u0435 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u044b \u0441 \u0442\u0435\u0433\u043e\u043c \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0438             additional_photo_urls = ';'.join(               [old_site_domain + i['src'] for i in dop_photo_containers]             )             # \u0430 \u0432\u043e\u0442 \u0443\u0436\u0435 \u0438\u0437 \u044d\u0442\u0438\u0445 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u043e\u0432 \u0432\u044b\u0442\u044f\u0433\u0438\u0432\u0430\u0435\u043c \u0441\u0432\u043e\u0439\u0442\u0432\u043e src # \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u043b\u0435\u0436\u0438\u0442 \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043d\u0443\u0436\u043d\u0443\u044e \u043d\u0430\u043c \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0443, # \u0444\u043e\u0440\u043c\u0438\u0440\u0443\u0435\u043c \u0447\u0435\u0440\u0435\u0437 \u0442\u043e\u0447\u043a\u0443 \u0441 \u0437\u0430\u043f\u044f\u0442\u043e\u0439 \u0441\u0442\u0440\u043e\u0447\u043a\u0443             cursor.execute(\"UPDATE elements WHERE article={} SET additional='{}'\".format(article, additional_photo_urls))             database_connection.commit()             # \u0437\u0430\u043b\u0438\u0432\u0430\u0435\u043c \u0435\u0435 \u0432 \u0431\u0430\u0437\u0443 \u0434\u043b\u044f \u0434\u0430\u043b\u044c\u043d\u0435\u0439\u0448\u0438\u0445 \u044d\u043a\u0437\u0435\u043a\u0443\u0446\u0438\u0439         else:             raise ArticleException             # \u0435\u0441\u043b\u0438 \u0443 \u043d\u0430\u0441 \u0432\u0441\u0435 \u043d\u0435 \u043a\u043b\u0430\u0441\u0441\u043d\u043e \u0438 \u043f\u043e \u043e\u0434\u043d\u043e\u043c\u0443 \u0430\u0440\u0442\u0438\u043a\u0443\u043b\u0443 \u0432\u044b \u043d\u0430\u0448\u043b\u0438 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0442\u043e\u0432\u0430\u0440\u043e\u0432             # \u043d\u0435 \u0441\u0442\u0435\u0441\u043d\u044f\u0435\u043c\u0441\u044f \u0432\u044b\u043a\u0438\u0434\u044b\u0432\u0430\u0442\u044c     except ArticleException: # \u0430 \u0437\u0430\u0442\u0435\u043c \u0438 \u043e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0442\u044c \u043e\u0448\u0438\u0431\u043a\u0443         continue     except Exception:         continue database_connection.close()<\/code><\/pre>\n<p>\u0425\u043e\u0447\u0443 \u0441\u043d\u043e\u0432\u0430 \u043e\u0431\u0440\u0430\u0442\u0438\u0442\u044c \u0432\u0430\u0448\u0435 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435, \u0447\u0442\u043e \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u044b\u0435 \u0438\u043c\u0435\u043d\u0430 \u043a\u043b\u0430\u0441\u0441\u043e\u0432 \u043c\u043e\u0433\u0443\u0442 \u043e\u0442\u043b\u0438\u0447\u0430\u0442\u044c\u0441\u044f. \u0421\u043c\u044b\u0441\u043b \u0432\u044b\u0448\u0435\u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043d\u043e\u0433\u043e \u0432 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0438 \u0441\u0442\u0440\u0430\u0442\u0435\u0433\u0438\u0438 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u044d\u0442\u0438 \u0434\u0430\u043d\u043d\u044b\u0435 \u0432\u044b\u043a\u0430\u0447\u0430\u0442\u044c.<\/p>\n<h2>\u0428\u0430\u0433 3. \u041e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u043a\u0430\u0440\u0442\u0438\u043d\u043e\u043a<\/h2>\n<p>\u041f\u043e\u0434\u0440\u043e\u0431\u043d\u043e\u0433\u043e \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u044f \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043a\u0430\u0440\u0442\u0438\u043d\u043e\u043a \u043f\u0440\u0438\u0432\u043e\u0434\u0438\u0442\u044c \u043d\u0435 \u0431\u0443\u0434\u0443, \u043d\u0435 \u0442\u043e \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u0441\u044f \u043b\u0438\u0431\u043e \u043a\u0440\u0430\u0442\u043a\u0438\u0439<\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-330574","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/330574","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=330574"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/330574\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=330574"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=330574"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=330574"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}