From 8c9425b554a3f34c8936a3a12c80ef50d966734b Mon Sep 17 00:00:00 2001 From: Sanich777 Date: Thu, 6 Apr 2023 02:42:51 +0300 Subject: [PATCH] =?UTF-8?q?=D0=94=D0=B7=20=D0=BF=D0=B0=D1=80=D1=81=D0=B8?= =?UTF-8?q?=D0=BD=D0=B3=20=D0=BF=D0=BB=D1=8E=D1=81=20=D0=B1=D0=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Задания/task1/Kulikov/db_taskpostgres.py | 54 ++++++++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 Задания/task1/Kulikov/db_taskpostgres.py diff --git a/Задания/task1/Kulikov/db_taskpostgres.py b/Задания/task1/Kulikov/db_taskpostgres.py new file mode 100644 index 0000000..51c9936 --- /dev/null +++ b/Задания/task1/Kulikov/db_taskpostgres.py @@ -0,0 +1,54 @@ +from bs4 import BeautifulSoup +from selenium.webdriver import Chrome +from selenium import webdriver +from selenium.webdriver.chrome.service import Service +import time +import wget +import psycopg2 +import re +s = Service('C:\data\hrome\chromedriver.exe') +browser = webdriver.Chrome(service=s) +browser.get('https://music.yandex.ru/chart') +time.sleep (1) +html_text = browser.page_source +soup = BeautifulSoup(html_text, 'lxml') +Трек=soup.find_all('a', class_='d-track__title deco-link deco-link_stronger') +Длительность=soup.find_all('div', class_='d-track__info d-track__nohover') +Автор=soup.find_all('span', class_='d-track__artists') +Картинки=soup.find_all('img', class_='entity-cover__image deco-pane') +str_Картинки=[] +for i in range(len(Картинки)): + str_Картинки.append(Картинки[i]) +str_Картинки=str(str_Картинки) +str_Картинки=re.findall(r'src="(.*?)"',str_Картинки) +for i in range(len(str_Картинки)): + str_Картинки[i]='https:'+str_Картинки[i] +#for i in range(len(str_cartinki)): + #wget.download(str_cartinki[i], 'TOP'+str((i+1))+'.jpeg') + + +connection = psycopg2.connect(dbname = 'dbdata', + user='postgres', password='Q1w2e3r4', + host='localhost') +cursor=connection.cursor() +creat_table="""CREATE TABLE music + (id serial primary key, "Трек" varchar(100), + "Длительность" varchar(100), + "Автор" varchar(100), + "Картинки" varchar(100))""" +cursor.execute(creat_table) +connection.commit() +for Трек, Длительность, Автор, Картинки in zip(Трек, Автор, Длительность, Картинки): + qwery=f"""INSERT INTO public.music( + Трек, Длительность, Автор, Картинки) + VALUES + ('{Трек.text}','{Длительность.text}','{Автор.text}', '{Картинки.text}' )""" + cursor.execute(qwery) + connection.commit() +for i in range(1,len(str_Картинки)+1): + puti = r'C:\Users\kingo\PycharmProjects\pythonProject2\TOP' + str(i) + '.jpeg' + qwery=f"""UPDATE public.music + SET Картинки='{puti}' + WHERE id={i}""" + cursor.execute(qwery) + connection.commit() \ No newline at end of file