From 5638af2248074888cba02936b8f5793a1d60acf6 Mon Sep 17 00:00:00 2001 From: Ilia Miheev Date: Tue, 29 Apr 2025 00:01:59 +0300 Subject: [PATCH] =?UTF-8?q?=D0=9E=D0=B1=D0=BD=D0=BE=D0=B2=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=D0=B0=20=D0=B4=D0=BE=D0=BA=D1=83=D0=BC=D0=B5=D0=BD=D1=82?= =?UTF-8?q?=D0=B0=D1=86=D0=B8=D1=8F=20=D0=BF=D0=BE=D0=B4=20=D0=BD=D0=BE?= =?UTF-8?q?=D0=B2=D1=8B=D0=B5=20=D0=BC=D0=B5=D1=82=D0=BE=D0=B4=D1=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 50 +++++++++++++++++++++++++++++++++++++++++++------- 1 file changed, 43 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index e82bbef..383faf6 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,6 @@ -# Библиотека для парсинга +# Библиотека для работы с файлами во время парсинга + +Во время работы часто приходится скачивать html страницы, работать с json файлами. Эта библиотека призвана облегчить написание кода для такого рода задач. Установить библиотеку: ```bash @@ -7,19 +9,53 @@ pip install ipars ## Пример кода ```python +# Импортируем библиотеку from ipars import Pars -p = Pars('https://google.com', './index.html') -p.get_static_page() +# Создаём объект класса +p = Pars() ``` ## Коротко о методах -1. Функция **get_static_page** принимает url страницы и сохраняет html по указанному пути. +1. Функция **get_static_page** принимает url страницы, путь по которому сохранится страница, метод записи и заголовки запроса. Метод записи "wb" используется для сохранения кортинок, по умолчанию writeMethod установлен как "w", что используется для html-страниц. Если заголовки запросов не указаны, то будут использоваться встроенные, но при желании можно указать свои. Функция возвращает статус ответа сайта, что должно использоваться для введения проверок +```python +from ipars import Pars +p = Pars() +# Заголовки для запроса +headers ={ + "Accept": "*/*", + "User-Agent": "Mozilla/5.0 (iPad; CPU OS 11_0 like Mac OS X) AppleWebKit/604.1.34 (KHTML, like Gecko) Version/11.0 Mobile/15A5341f Safari/604.1" + } +# Делаем запрос к сайту и записываем статус ответа в переменную +status_response = p.get_static_page('https://google.com', './index.html', headers=headers) +if status_response == 404: + print('Страница не найдена') +``` -2. Функция **get_dinamic_page** с помощью библиотеки Selenium получает динамически обновляемую страницу. Это помогает когда контент на странице подгружается динамически +2. Функция **get_dinamic_page** с помощью библиотеки Selenium получает динамически обновляемую страницу. Это помогает когда контент на странице подгружается динамически. Принимает url страницы, путь сохранения и closeWindow. По умолчанию браузер Selenium открывается в фоновом режиме и работу браузара не видно, но если closeWindow указать как False, то будет видень процес выполнения кода -3. Функция **returnBs4Object** возвращает объект beautifulsoup4 +3. Функция **returnBs4Object** возвращает объект beautifulsoup4. Принимает путь до html страницы, содержимое которой преобразует в объект beautifulsoup, кодировку открытия файла (по умолчанию UTF-8) и тип парсера (по умолчанию lxml) +```py +from ipars import Pars +p = Pars() +p.get_static_page('https://google.com', './index.html') +# Получаем объект beautifulsoup из полученной страницы +soup = p.returnBs4Object('./index.html') +# Используем методы beautifulsoup +allImage = soup.find_all('img') +``` -4. Функция **deleteFile** удаляет файл по пути pathToSaveFile. Пишется в конце кода после выполнения работы парсера +4. Метод **loadJson** используется для получения данных из json файла по указанному пути. + +5. Метод **dumpJson** используется для записи данных в json файл. Принимает данные для записи и путь до файла + +```py +from ipars import Pars +p = Pars() +# Записываем данные +p.dumpJson([1,2,3,4,5,6,7], './data.json') +# Получаем данные +data = p.loadJson('./data.json') # [1,2,3,4,5,6,7] +``` ## License