From 0dd585701bd22192d2132d693644778f2bb58d8f Mon Sep 17 00:00:00 2001 From: Ilia Miheev Date: Thu, 1 May 2025 14:28:49 +0300 Subject: [PATCH] =?UTF-8?q?=D0=A1=D0=BE=D0=B7=D0=B4=D0=B0=D0=BD=D1=8B=20?= =?UTF-8?q?=D0=B4=D0=BE=D0=BF=D0=BE=D0=BB=D0=BD=D0=B8=D1=82=D0=B5=D0=BB?= =?UTF-8?q?=D1=8C=D0=BD=D1=8B=D0=B5=20=D0=BA=D0=BB=D0=B0=D1=81=D1=81=D1=8B?= =?UTF-8?q?=20=D0=B4=D0=BB=D1=8F=20=D1=80=D0=B0=D0=B1=D0=BE=D1=82=D1=8B=20?= =?UTF-8?q?=D1=81=20=D0=BE=D1=82=D0=B4=D0=B5=D0=BB=D1=8C=D0=BD=D1=8B=D0=BC?= =?UTF-8?q?=D0=B8=20=D1=81=D1=83=D1=89=D1=8C=D0=BD=D0=BE=D1=81=D1=82=D1=8F?= =?UTF-8?q?=D0=BC=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ipars/module.py | 29 ++++++++++++++++------------- 1 file changed, 16 insertions(+), 13 deletions(-) diff --git a/ipars/module.py b/ipars/module.py index ead4e9a..71ff85d 100644 --- a/ipars/module.py +++ b/ipars/module.py @@ -9,51 +9,54 @@ import csv class WorkWithScv: '''Класс для работы с csv файлами во время парсинга''' - def __init__(self, newline:str='', encoding:str='cp1251'): + def __init__(self, newline:str='', encoding:str='cp1251', delimiter:str=';'): '''Конструктор''' self.newline = newline self.encoding = encoding + self.delimiter = delimiter - def writerow(self, file_path:str, mode:str, row:any, delimiter:str=';'): + def writerow(self, file_path:str, mode:str, row:list): '''Записываем строку в csv файл''' with open(file_path, mode=mode, newline=self.newline, encoding=self.encoding) as file: - writer = csv.writer(file, delimiter=delimiter) + writer = csv.writer(file, delimiter=self.delimiter) writer.writerow(row) - def writerows(self, file_path:str, mode:str, row:list, delimiter:str=';'): + def writerows(self, file_path:str, mode:str, row:list): '''Записываем строки в csv файл''' with open(file_path, mode=mode, newline=self.newline, encoding=self.encoding) as file: - writer = csv.writer(file, delimiter=delimiter) + writer = csv.writer(file, delimiter=self.delimiter) writer.writerows(row) - def getRows(self, file_path:str, delimiter:str=';'): + def getRows(self, file_path:str): '''Возвращает строки файла''' userRows = [] with open(file_path, mode='r', newline=self.newline, encoding=self.encoding) as csvfile: - csv_reader = csv.reader(csvfile, delimiter=delimiter) + csv_reader = csv.reader(csvfile, delimiter=self.delimiter) for row in csv_reader: userRows.append(row) return userRows -class Pars: - '''Библиотека для работы с файлами во время парсинга''' - - def loadJson(self, pathToJsonFile:str): +class WorkWithJson: + '''Модуль для работы с json файлами''' + def load(self, pathToJsonFile:str): """Получаем данные из json файла""" with open(pathToJsonFile) as jsonFile: src = json.load(jsonFile) return src - def dumpJson(self, data:any, pathToJsonFile:str): + def dump(self, pathToJsonFile:str, data:any): """Записываем данные в json файл""" with open(pathToJsonFile, 'w', encoding='utf8') as jsonFile: json.dump(data, jsonFile, indent=4, ensure_ascii=0) +class Pars: + '''Модуль для работы с запросами и HTML файлами во время парсинга''' + def returnBs4Object(self, pathToFile, myEncoding:str='utf8', parser:str='lxml'): """Возвращаем объект beautifulsoup""" with open(pathToFile, encoding=myEncoding) as file: @@ -62,7 +65,7 @@ class Pars: return soup - def get_static_page(self, url, pathToSaveFile, writeMethod='w', headers:dict='')-> int(): + def get_static_page(self, pathToSaveFile, url, writeMethod='w', headers:dict='')-> int(): '''Получаем статическую страницу''' if headers == '':