From 959ba6d3a68d45e6c4772234ece78590e148f330 Mon Sep 17 00:00:00 2001 From: Axeten Date: Wed, 5 Apr 2023 22:23:02 +0300 Subject: [PATCH 1/7] parsing hellride and input data in database --- Задания/task1/romanov/bdpars.py | 45 +++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 Задания/task1/romanov/bdpars.py diff --git a/Задания/task1/romanov/bdpars.py b/Задания/task1/romanov/bdpars.py new file mode 100644 index 0000000..41bc067 --- /dev/null +++ b/Задания/task1/romanov/bdpars.py @@ -0,0 +1,45 @@ +import wget +import psycopg2 +from bs4 import BeautifulSoup +from selenium import webdriver +from selenium.webdriver.chrome.service import Service +connection = psycopg2.connect(host='localhost', dbname='postgres', + user='postgres', password='Q1w2e3r4') + +cursor = connection.cursor() + +cr_qwery = """ create table parser + (id serial primary key, + name varchar(60), + price varchar(15), + picture varchar(100))""" + +cursor.execute(cr_qwery) +connection.commit() + +s = Service('C:\Desktop\exe\chromedriver.exe') +browser = webdriver.Chrome(service=s) +browser.get('https://www.hellride.ru/catalog/zapchasti-dlya-tryukovyh-samokatov/deki') +html_code = browser.page_source +soup = BeautifulSoup(html_code, 'lxml') + +name = soup.find_all(attrs={"class": "product-card__title"}) +price = soup.find_all(attrs={"class": "product-card__price"}) +picture = soup.find_all(attrs={"class": "product-slider__slide-img swiper-lazy swiper-lazy-loaded"}) +#for prices, names in zip(price, name,): + #print(f" название {names.text} ; цена: {prices.text} ") +for i in range(len(name)): + url = picture[i].attrs['src'] + filename = f"C:\\Users\\Михаил\PycharmProjects\pythonProject8\\venv\Pictures\{i}.jpg" + wget.download(url, filename) + ins_qwery = f"""insert into public.Parser(name, price, picture) + values ('{name[i].text}', '{price[i].text}', '{filename}')""" + cursor.execute(ins_qwery) + connection.commit() + + + + +cursor.close() + +connection.close() \ No newline at end of file From 48465c6ab0e222d726d7953a50cde8f500704d9d Mon Sep 17 00:00:00 2001 From: Axeten Date: Wed, 5 Apr 2023 22:24:46 +0300 Subject: [PATCH 2/7] parsing hellride and input data in database --- Задания/task1/romanov/bd | 45 ---------------------------------------- 1 file changed, 45 deletions(-) delete mode 100644 Задания/task1/romanov/bd diff --git a/Задания/task1/romanov/bd b/Задания/task1/romanov/bd deleted file mode 100644 index 7f5d9c1..0000000 --- a/Задания/task1/romanov/bd +++ /dev/null @@ -1,45 +0,0 @@ -import psycopg2 -import wget -from bs4 import BeautifulSoup -from selenium import webdriver -from selenium.webdriver.chrome.service import Service -connection = psycopg2.connect(host='localhost', dbname='postgres', - user='postgres', password='Q1w2e3r4') - -cursor = connection.cursor() - -cr_qwery = """ create table parser - (id serial primary key, - name varchar(60), - price varchar(15), - picture varchar(100))""" - -cursor.execute(cr_qwery) -connection.commit() - -s = Service('C:\Desktop\exe\chromedriver.exe') -browser = webdriver.Chrome(service=s) -browser.get('https://www.hellride.ru/catalog/zapchasti-dlya-tryukovyh-samokatov/deki') -html_code = browser.page_source -soup = BeautifulSoup(html_code, 'lxml') - -name = soup.find_all('span', class_='product-card__title') -price = soup.find_all('span', class_='product-card__price') -picture = soup.find_all('img', class_='product-slider__slide-img swiper-lazy swiper-lazy-loaded') -#for prices, names in zip(price, name,): - #print(f" название {names.text} ; цена: {prices.text} ") -for i in range(len(name)): - url = picture[i].attrs['src'] - filename = f"C:\\Users\\Михаил\PycharmProjects\pythonProject8\\venv\Pictures\{i}.jpg" - wget.download(url, filename) - ins_qwery = f"""insert into public.Parser(name, price, picture) - values ('{name[i].text}', '{price[i].text}', '{filename}')""" - cursor.execute(ins_qwery) - connection.commit() - - - - -cursor.close() - -connection.close() From bb90f3e4145cc5134e934d881abf38cae5a61d4d Mon Sep 17 00:00:00 2001 From: rus2004 Date: Thu, 6 Apr 2023 02:12:41 +0300 Subject: [PATCH 3/7] o0o0o0 --- Задания/task1/Samigullin/bd.py | 43 ++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 Задания/task1/Samigullin/bd.py diff --git a/Задания/task1/Samigullin/bd.py b/Задания/task1/Samigullin/bd.py new file mode 100644 index 0000000..447afcc --- /dev/null +++ b/Задания/task1/Samigullin/bd.py @@ -0,0 +1,43 @@ +from bs4 import BeautifulSoup +from selenium.webdriver import Chrome +from selenium import webdriver +from selenium.webdriver.chrome.service import Service +import psycopg2 +import wget +import time + +connection = psycopg2.connect(host='localhost', dbname='dbdata', user='postgres', password='Q1w2e3r4') +cursor = connection.cursor() + + + +s = Service('C:/Users/rusta/OneDrive/Рабочий стол/ИНФА/инфа 2 сем/driver/chromedriver.exe') +browser = webdriver.Chrome(service=s) +browser.get('https://www.kp.ru/expert/elektronika/luchshie-noutbuki/') +time.sleep (10) +html_text = browser.page_source +soup = BeautifulSoup(html_text, 'lxml') + +creat_table="""create table notes + (id serial primary key, name varchar(150), + scr varchar(150))""" +cursor.execute(creat_table) +connection.commit() + + +names= soup.find_all('h3', class_="wp-block-heading") +pictures = soup.find_all('figure', class_="wp-block-image size-full") +print(len(names)) +for i in range(len(names)): + url = pictures[i].find('img')['src'] + filename = f"C:\\Users\\rusta\\OneDrive\\Рабочий стол\\pictures\\{i}.jpg" + wget.download(url, filename) + + insert_qwery = """INSERT INTO public.notes(name, scr) + VALUES( %s, %s, %s);""" + record_to_insert = (names[i].text, filename) + cursor.execute(insert_qwery, record_to_insert) + connection.commit() + +cursor.close() +connection.close() \ No newline at end of file From 8c9425b554a3f34c8936a3a12c80ef50d966734b Mon Sep 17 00:00:00 2001 From: Sanich777 Date: Thu, 6 Apr 2023 02:42:51 +0300 Subject: [PATCH 4/7] =?UTF-8?q?=D0=94=D0=B7=20=D0=BF=D0=B0=D1=80=D1=81?= =?UTF-8?q?=D0=B8=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 From ea095302886b5633870d7c1d6087b925ec5372e5 Mon Sep 17 00:00:00 2001 From: Gusev712 Date: Thu, 6 Apr 2023 02:35:42 +0300 Subject: [PATCH 5/7] Task 2 --- .idea/.name | 1 + .../shelved.patch | 126 ++++++++++++++++++ .../shelved.patch | 0 ...re_Update_at_15_02_2023_1_03__Changes_.xml | 4 + Задания/task1/Gusev/.idea/.gitignore | 3 + Задания/task1/Gusev/.idea/Gusev.iml | 8 ++ .../inspectionProfiles/profiles_settings.xml | 6 + Задания/task1/Gusev/.idea/misc.xml | 4 + Задания/task1/Gusev/.idea/modules.xml | 8 ++ Задания/task1/Gusev/.idea/vcs.xml | 6 + Задания/task1/Gusev/First code.py | 1 - Задания/task1/Gusev/images/1.jpg | Bin 0 -> 30471 bytes Задания/task1/Gusev/images/10.jpg | Bin 0 -> 16186 bytes Задания/task1/Gusev/images/11.jpg | Bin 0 -> 25192 bytes Задания/task1/Gusev/images/12.jpg | Bin 0 -> 32584 bytes Задания/task1/Gusev/images/13.jpg | Bin 0 -> 21813 bytes Задания/task1/Gusev/images/14.jpg | Bin 0 -> 29467 bytes Задания/task1/Gusev/images/15.jpg | Bin 0 -> 22891 bytes Задания/task1/Gusev/images/16.jpg | Bin 0 -> 21376 bytes Задания/task1/Gusev/images/17.jpg | Bin 0 -> 26240 bytes Задания/task1/Gusev/images/18.jpg | Bin 0 -> 37319 bytes Задания/task1/Gusev/images/19.jpg | Bin 0 -> 22166 bytes Задания/task1/Gusev/images/2.jpg | Bin 0 -> 25354 bytes Задания/task1/Gusev/images/20.jpg | Bin 0 -> 20676 bytes Задания/task1/Gusev/images/21.jpg | Bin 0 -> 31137 bytes Задания/task1/Gusev/images/22.jpg | Bin 0 -> 34995 bytes Задания/task1/Gusev/images/23.jpg | Bin 0 -> 30854 bytes Задания/task1/Gusev/images/24.jpg | Bin 0 -> 26082 bytes Задания/task1/Gusev/images/3.jpg | Bin 0 -> 34475 bytes Задания/task1/Gusev/images/4.jpg | Bin 0 -> 18490 bytes Задания/task1/Gusev/images/5.jpg | Bin 0 -> 24682 bytes Задания/task1/Gusev/images/6.jpg | Bin 0 -> 24436 bytes Задания/task1/Gusev/images/7.jpg | Bin 0 -> 25865 bytes Задания/task1/Gusev/images/8.jpg | Bin 0 -> 25879 bytes Задания/task1/Gusev/images/9.jpg | Bin 0 -> 27078 bytes Задания/task1/Gusev/parsing.py | 61 +++++++++ Задания/task1/Gusev/Задание | 1 + 37 files changed, 228 insertions(+), 1 deletion(-) create mode 100644 .idea/.name create mode 100644 .idea/shelf/Uncommitted_changes_before_Update_at_15_02_2023_1_03_[Changes]/shelved.patch create mode 100644 .idea/shelf/Uncommitted_changes_before_Update_at_15_02_2023_1_03_[Changes]1/shelved.patch create mode 100644 .idea/shelf/Uncommitted_changes_before_Update_at_15_02_2023_1_03__Changes_.xml create mode 100644 Задания/task1/Gusev/.idea/.gitignore create mode 100644 Задания/task1/Gusev/.idea/Gusev.iml create mode 100644 Задания/task1/Gusev/.idea/inspectionProfiles/profiles_settings.xml create mode 100644 Задания/task1/Gusev/.idea/misc.xml create mode 100644 Задания/task1/Gusev/.idea/modules.xml create mode 100644 Задания/task1/Gusev/.idea/vcs.xml create mode 100644 Задания/task1/Gusev/images/1.jpg create mode 100644 Задания/task1/Gusev/images/10.jpg create mode 100644 Задания/task1/Gusev/images/11.jpg create mode 100644 Задания/task1/Gusev/images/12.jpg create mode 100644 Задания/task1/Gusev/images/13.jpg create mode 100644 Задания/task1/Gusev/images/14.jpg create mode 100644 Задания/task1/Gusev/images/15.jpg create mode 100644 Задания/task1/Gusev/images/16.jpg create mode 100644 Задания/task1/Gusev/images/17.jpg create mode 100644 Задания/task1/Gusev/images/18.jpg create mode 100644 Задания/task1/Gusev/images/19.jpg create mode 100644 Задания/task1/Gusev/images/2.jpg create mode 100644 Задания/task1/Gusev/images/20.jpg create mode 100644 Задания/task1/Gusev/images/21.jpg create mode 100644 Задания/task1/Gusev/images/22.jpg create mode 100644 Задания/task1/Gusev/images/23.jpg create mode 100644 Задания/task1/Gusev/images/24.jpg create mode 100644 Задания/task1/Gusev/images/3.jpg create mode 100644 Задания/task1/Gusev/images/4.jpg create mode 100644 Задания/task1/Gusev/images/5.jpg create mode 100644 Задания/task1/Gusev/images/6.jpg create mode 100644 Задания/task1/Gusev/images/7.jpg create mode 100644 Задания/task1/Gusev/images/8.jpg create mode 100644 Задания/task1/Gusev/images/9.jpg create mode 100644 Задания/task1/Gusev/parsing.py create mode 100644 Задания/task1/Gusev/Задание diff --git a/.idea/.name b/.idea/.name new file mode 100644 index 0000000..befc734 --- /dev/null +++ b/.idea/.name @@ -0,0 +1 @@ +Work with driver.py \ No newline at end of file diff --git a/.idea/shelf/Uncommitted_changes_before_Update_at_15_02_2023_1_03_[Changes]/shelved.patch b/.idea/shelf/Uncommitted_changes_before_Update_at_15_02_2023_1_03_[Changes]/shelved.patch new file mode 100644 index 0000000..09a0bb9 --- /dev/null +++ b/.idea/shelf/Uncommitted_changes_before_Update_at_15_02_2023_1_03_[Changes]/shelved.patch @@ -0,0 +1,126 @@ +Index: .idea/workspace.xml +IDEA additional info: +Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP +<+>\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n 1675926797018\r\n \r\n \r\n 1675927078342\r\n \r\n \r\n 1675931967836\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n file://$PROJECT_DIR$/main.py\r\n 8\r\n \r\n \r\n \r\n \r\n +Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP +<+>UTF-8 +=================================================================== +diff --git a/.idea/workspace.xml b/.idea/workspace.xml +--- a/.idea/workspace.xml ++++ b/.idea/workspace.xml +@@ -4,7 +4,7 @@ +