| Re: web data scraping | |
|---|---|
|
glaz58 Автор Сообщений: 885 Откуда: Воронеж Дата регистрации: 09.02.2008 |
Я заменил код на вот такой с соблюдением отступов:
ReactorNotRestartable Traceback (most recent call last) <ipython-input-9-f96be4a3fa5a> in <cell line: 0>() 64 65 if __name__ == '__main__': ---> 66 main() В конце выдал ещё три ячейки (cell) c диагностикой и внизу: ReactorNotRestartable Первая версия, которая работала и создавала xlsx тоже перестала работать и выдаёт такую же диагностику в colab. Исправлено 1 раз(а). Последнее : glaz58, 20.04.25 20:44 |
| Re: web data scraping | |
|---|---|
|
glaz58 Автор Сообщений: 885 Откуда: Воронеж Дата регистрации: 09.02.2008 |
Я пока в colab запускаю.
|
| Re: web data scraping | |
|---|---|
|
chunihin-df Сообщений: 151 Откуда: Тюмень Дата регистрации: 18.11.2013 |
Это привет от colab, надо перезапустить рантайм
|
| Re: web data scraping | |
|---|---|
|
chunihin-df Сообщений: 151 Откуда: Тюмень Дата регистрации: 18.11.2013 |
для glaz58: Форум ссылки сворачивает
Там ps скрипт в общем
Исправлено 1 раз(а). Последнее : chunihin-df, 20.04.25 20:56 |
| Re: web data scraping | |
|---|---|
|
glaz58 Автор Сообщений: 885 Откуда: Воронеж Дата регистрации: 09.02.2008 |
Restart session
Are you sure you want to restart the runtime? Runtime state including all local variables will be lost. Вот это? |
| Re: web data scraping | |
|---|---|
|
chunihin-df Сообщений: 151 Откуда: Тюмень Дата регистрации: 18.11.2013 |
Да |
| Re: web data scraping | |
|---|---|
|
glaz58 Автор Сообщений: 885 Откуда: Воронеж Дата регистрации: 09.02.2008 |
Ниже строки диагностики colab DEBUG:scrapy.core.engine:Crawled (200) <GET https://lider-vrn.ru/catalog/santekhnika/> (referer: None) ERROR:root:Ошибка при парсинге: name 'price' is not defined Старая версия, которая создаёт xlsx из одного столбца, работает Исправлено 1 раз(а). Последнее : glaz58, 21.04.25 10:38 |
| Re: web data scraping | |
|---|---|
|
chunihin-df Сообщений: 151 Откуда: Тюмень Дата регистрации: 18.11.2013 |
В сообщении об ошибке указано, что переменная price должна быть определена
Вот пример
|
| Re: web data scraping | |
|---|---|
|
ssa Сообщений: 13115 Откуда: Москва Дата регистрации: 23.03.2005 |
Разумеется. С какого перепугу и откуда в title, то бишь текстовом заголовке, появится цена? Может её сначала, как и title, таки получить? Цитата:Она не пытатся сохранить то, что еще не извлекали... ------------------ Лень - это неосознанная мудрость. |
| Re: web data scraping | |
|---|---|
|
glaz58 Автор Сообщений: 885 Откуда: Воронеж Дата регистрации: 09.02.2008 |
Спасибо, Дмитрий! Всё отработало и выдало таблицу. В числовом столбце форматирование почему-то по левому краю, хотя там находится число. Для других похожих сайтов потребуется много подпиливать? В какой части программы указание на специфическую структуру сайта? Маловероятно, что я бы нашёл такую помощь на Github. Требуется значимое допиливание: добавить столбец ед.изм., где ед.изм. может быть ''шт.', 'пог.', 'кг', 'т' и т.д. Я вношу исправление в программу:
ERROR:root:Ошибка при парсинге: 'NoneType' object has no attribute 'replace' Это из-за того, что значение текстовое, а не числовое? Как мне извлечь в третий столбец единицу измерения? Исправлено 4 раз(а). Последнее : glaz58, 21.04.25 18:37 |
| Re: web data scraping | |
|---|---|
|
dimag Сообщений: 484 Откуда: Одинцово Дата регистрации: 17.12.2002 |
Спроси DeepSeek, например. Первый вариант кода ИИ написал секунд за 10
Вот доработанный код с ценой:
------------------ Never judge a book by its cover. Исправлено 2 раз(а). Последнее : dimag, 21.04.25 18:27 |
| Re: web data scraping | |
|---|---|
|
glaz58 Автор Сообщений: 885 Откуда: Воронеж Дата регистрации: 09.02.2008 |
К сожалению, ничего не сохранил в xlsx, хотя ошибок при выполнении не было. В коде есть строки для сохранения в xlsx, но почему-то не сохраняет.
No module named 'xlsxwriter'. В прежних версиях тоже не было такого модуля, но в xlsx сохранялось. # Сохраняем в Excel с автоподбором ширины столбцов
А так видно, что скрэйпит нормально Исправлено 5 раз(а). Последнее : glaz58, 21.04.25 19:12 |
| Re: web data scraping | |
|---|---|
|
dimag Сообщений: 484 Откуда: Одинцово Дата регистрации: 17.12.2002 |
Не сохраняет потому что нет xlsxwriter.
В powershell перейди в каталог с проектом и добавь
------------------ Never judge a book by its cover. |
| Re: web data scraping | |
|---|---|
|
glaz58 Автор Сообщений: 885 Откуда: Воронеж Дата регистрации: 09.02.2008 |
pip xlsxwriter вот так? |
| Re: web data scraping | |
|---|---|
|
chunihin-df Сообщений: 151 Откуда: Тюмень Дата регистрации: 18.11.2013 |
pip install xlsxwriter |
| Re: web data scraping | |
|---|---|
|
glaz58 Автор Сообщений: 885 Откуда: Воронеж Дата регистрации: 09.02.2008 |
Спасибо, обязательно испытаю
|
| Re: web data scraping | |
|---|---|
|
chunihin-df Сообщений: 151 Откуда: Тюмень Дата регистрации: 18.11.2013 |
[attachment 37130 plumber.gif] |
| Re: web data scraping | |
|---|---|
|
glaz58 Автор Сообщений: 885 Откуда: Воронеж Дата регистрации: 09.02.2008 |
Это уж слишком. Там написано Р/шт или Р/к-т или Р/пог. и т.д. Именно это и надо сохранить. Только символ рубля не хочет сюда вставлять.
Исправлено 1 раз(а). Последнее : glaz58, 22.04.25 11:53 |
| Re: web data scraping | |
|---|---|
|
glaz58 Автор Сообщений: 885 Откуда: Воронеж Дата регистрации: 09.02.2008 |
В программе применяется pd.ExcelWriter(.......
При попытке запустить
ERROR: Could not find a version that satisfies the requirement ExcelWriter (from versions: none) ERROR: No matching distribution found for ExcelWriter |
| Re: web data scraping | |
|---|---|
|
dimag Сообщений: 484 Откуда: Одинцово Дата регистрации: 17.12.2002 |
pd.ExcelWriter это пакет pandas Тебе нужно:
Я же четко писал об этом выше: Не сохраняет потому что нет xlsxwriter.
# Анализ кода парсера для сайта lider-vrn.ru ## Описание функционала Scrapy-паук для сбора данных о сантехнических товарах с сайта `lider-vrn.ru`. ### Основные компоненты: 1. **Класс паука `LiderVrnSpider`** - Наследуется от `scrapy.Spider` - Имя паука: `'lider-vrn'` - Стартовая URL: `'https://lider-vrn.ru/catalog/santekhnika/'` 2. **Методы:** - `__init__`: Инициализация списка для хранения товаров - `parse`: Основной метод парсинга страниц - `closed`: Финализация и сохранение результатов ## Процесс парсинга 1. **Извлечение данных:**
2.Структура данных:
3.Пагинация:
Сохранение результатов Обработка данных: Конвертация в DataFrame Удаление записей с пустыми ценами Экспорт в Excel:
Настройки проекта
1. Установка зависимостей bash
Способ 1 (как standalone-скрипт): bash
bash
Возможные проблемы и решения Ошибки зависимостей: Проверить версии пакетов Создать requirements.txt:
Блокировка запросов: Увеличить DOWNLOAD_DELAY Использовать прокси Обновить USER_AGENT Изменения структуры сайта: Адаптировать CSS-селекторы # Новые селекторы при изменении верстки response.css('.new-item-class') Логирование Настроено логирование с уровнем INFO:
------------------ Never judge a book by its cover. Исправлено 4 раз(а). Последнее : dimag, 24.04.25 16:09 |
| © 2000-2025 Fox Club  |