| web data scraping | |
|---|---|
|
glaz58 Автор Сообщений: 885 Откуда: Воронеж Дата регистрации: 09.02.2008 |
Уважаемые знатоки! Может быть у кого-то есть позитивный опыт в использовании программ для web data scraping. Мне нужно скопировать в таблицу данные вот такого, например, сайта:
https://lider-vrn.ru/catalog/santekhnika/smesiteli-i-komplektuyushchie/ |
| Re: web data scraping | |
|---|---|
|
chunihin-df Сообщений: 151 Откуда: Тюмень Дата регистрации: 18.11.2013 |
Не знаток, но посмотрел этот сайт, и похоже scrapy вполне хватит
Накидал пример для затравки создать папку (любую) создать в папке requirements.txt: scrapy запустить pip pip install --upgrade -r ./requirements.txt создать в папке main.py: а, ну да, code...
запустить main.py: python -m "scrapy" runspider main.py -O 123.json Выходной файл не очень жирный, так что прикреплю его к сообщению Исправлено 4 раз(а). Последнее : chunihin-df, 18.04.25 18:56 |
| Re: web data scraping | |
|---|---|
|
glaz58 Автор Сообщений: 885 Откуда: Воронеж Дата регистрации: 09.02.2008 |
Можно ли сделать вывод лучше в xlsx или в csv? Архив main.py.zip повреждён или имеет неизвестный формат. 123.json.zip открылся. Может быть, его можно перевести в более удобный формат?
Исправлено 2 раз(а). Последнее : glaz58, 18.04.25 18:24 |
| Re: web data scraping | |
|---|---|
|
chunihin-df Сообщений: 151 Откуда: Тюмень Дата регистрации: 18.11.2013 |
ясно, надо было чем-то другим сжимать.
Переделал. |
| Re: web data scraping | |
|---|---|
|
chunihin-df Сообщений: 151 Откуда: Тюмень Дата регистрации: 18.11.2013 |
а, про формат, ну, самое простое для начала это поменять расширение выходного файла
вот так python -m "scrapy" runspider main.py -O 123.csv Но зачем эти мучения? Чтобы в fox загрузить? Тогда наверное полезнее будет xml (тоже просто расширение поменять) Что хотелось бы сказать: рекомендую самому попробовать, это не очень сложно, документация у этого фрейма не сложная для чтения. В принципе хватит знаний по xpath Верю в то, что позитивный опыт можно получить своими собственными силами в данном случае. Будут вопросы - пишите сюда, наверное многим тоже будет интересно. Если первый вопрос: "откуда .item_info и ./a/span/text()", то ответ из devtools браузера, просто правой кнопкой нажимаете на объект (ссылку, текст, картинку) в браузере и выбираете "проверить" (в разных браузерах может чуть отличаться название, сейчас в edge, поэтому название оттуда и взял) Исправлено 1 раз(а). Последнее : chunihin-df, 18.04.25 18:27 |
| Re: web data scraping | |
|---|---|
|
glaz58 Автор Сообщений: 885 Откуда: Воронеж Дата регистрации: 09.02.2008 |
main.py.zip опять повреждён. Спасибо за внимание к моей теме. Надо же когда-то начинать. Мир Python невозможно охватить, а эта достаточно компактная тема, тем более, имеющая хороший прикладной эффект.
|
| Re: web data scraping | |
|---|---|
|
chunihin-df Сообщений: 151 Откуда: Тюмень Дата регистрации: 18.11.2013 |
> main.py.zip поврежден
такие дела, что я прикрепил main.zip к новому сообщению, а тот файл main.py.zip я не переприклеплял (уж простите) > Мир Python невозможно охватить, а эта достаточно компактная тема, тем более, имеющая хороший прикладной эффект. Задавайте вопросы, наверное, многим будет интересно почитать/поучаствовать. |
| Re: web data scraping | |
|---|---|
|
glaz58 Автор Сообщений: 885 Откуда: Воронеж Дата регистрации: 09.02.2008 |
Пришлёте хороший main.py?
|
| Re: web data scraping | |
|---|---|
|
dimag Сообщений: 484 Откуда: Одинцово Дата регистрации: 17.12.2002 |
Хороший main.py
requirements.txt
Результат работы: Успешно сохранено 1020 товаров в lider_vrn_products.xlsx ------------------ Never judge a book by its cover. Исправлено 4 раз(а). Последнее : dimag, 19.04.25 19:51 |
| Re: web data scraping | |
|---|---|
|
sphinx Сообщений: 32802 Откуда: Екатеринбург Дата регистрации: 22.11.2006 |
![]() ![]() ------------------ "Veni, vidi, vici!"(с) |
| Re: web data scraping | |
|---|---|
|
alex; Сообщений: 4085 Откуда: Москва Дата регистрации: 23.11.2004 |
Интересное.
Если ставить Python через MS Store, то ставиться правильно в c:\Program Files\WindowsApps\PythonSoftwareFoundation.Python... а в c:\Users\User\AppData\Local\Microsoft\WindowsApps\ создается символьная ссылка. З.Ы. Остается вопрос как выбрать x64 и x32. З.Ы.2. Цитата:
Но ставит по-умолчанию в c:\Users\User\AppData\Local\Programs\Python\Python313-32\ Исправлено 7 раз(а). Последнее : alex;, 20.04.25 14:06 |
| Re: web data scraping | |
|---|---|
|
glaz58 Автор Сообщений: 885 Откуда: Воронеж Дата регистрации: 09.02.2008 |
Спасибо, буду разбираться. Вероятно, будут сложности при разных структурах исходных сайтов. Какую посоветуете среду выполнения? Можно ли запускать в colab?
Что делать с файлом requirements.txt? Исправлено 3 раз(а). Последнее : glaz58, 20.04.25 16:46 |
| Re: web data scraping | |
|---|---|
|
chunihin-df Сообщений: 151 Откуда: Тюмень Дата регистрации: 18.11.2013 |
Сложно в данном случае что-то советовать, да хоть с личного компьютера можно запускать ) В colab работает, чего бы не работать В блокноте можно сразу запустить установку scrapy pip install scrapy да и все потом уже разбирать сайт
|
| Re: web data scraping | |
|---|---|
|
glaz58 Автор Сообщений: 885 Откуда: Воронеж Дата регистрации: 09.02.2008 |
Отработало в colab без ошибок за 1m 7 s. Но где там искать выходной файл "lider_vrn_products.xlsx"? Как программа определяет, чтобы сайт находился в табличном режиме? На гугл-диске только ноутбуки, никаких файлов там нет. Нашёл в colab есть символ папки, там сохраняется. Скачал файл, но в нём 1 столбец "название", а цен нет.
Исправлено 3 раз(а). Последнее : glaz58, 20.04.25 18:55 |
| Re: web data scraping | |
|---|---|
|
chunihin-df Сообщений: 151 Откуда: Тюмень Дата регистрации: 18.11.2013 |
цену вот так можно достать
item_info.css('.price_value::text').get() |
| Re: web data scraping | |
|---|---|
|
glaz58 Автор Сообщений: 885 Откуда: Воронеж Дата регистрации: 09.02.2008 |
эту строку вставить после вот этой:
вот в таком виде:
Исправлено 1 раз(а). Последнее : glaz58, 20.04.25 19:27 |
| Re: web data scraping | |
|---|---|
|
chunihin-df Сообщений: 151 Откуда: Тюмень Дата регистрации: 18.11.2013 |
ну да
price = item_info.css('.price_value::text').get() дальше еще по тексту у dimag добавляется запись в products, туда тоже надо цену пробросить по аналогии с названием |
| Re: web data scraping | |
|---|---|
|
glaz58 Автор Сообщений: 885 Откуда: Воронеж Дата регистрации: 09.02.2008 |
|
| Re: web data scraping | |
|---|---|
|
chunihin-df Сообщений: 151 Откуда: Тюмень Дата регистрации: 18.11.2013 |
не совсем, dimag так проверку сделал, что сейчас с телефона неудобно вносить изменения, в общем пусть так
if title: self.products.append({'Название': title.strip(), 'Цена': price.replace(' ', '')}) |
| Re: web data scraping | |
|---|---|
|
dimag Сообщений: 484 Откуда: Одинцово Дата регистрации: 17.12.2002 |
Как нужно устанавливать python в 2025 году:
Документация: https://docs.astral.sh/uv/#highlights Установка uv на Windows:
Далее вы можете устанавливать любую доступую версию python индивидуально (powershell): Просмотр доступных версий:
Например у вас есть script311.py который работает на python 3.11 и Например у вас есть script313.py который работает на python 3.13 Скрипт script311.py будет запускаться из D:\script311
Скрипт script313.py будет запускаться из D:\script313 Устанавливаем python 3.13 аналогично через uv, просто заменив версию по аналогии выше ------------------ Never judge a book by its cover. Исправлено 1 раз(а). Последнее : dimag, 20.04.25 20:33 |
| © 2000-2025 Fox Club  |