Созданы дополнительные классы для работы с отдельными сущьностями

This commit is contained in:
Ilia Miheev
2025-05-01 14:28:49 +03:00
parent 8a9e22b795
commit 0dd585701b
+16 -13
View File
@@ -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 == '':