Форум программистов, компьютерный форум, киберфорум
Python
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 03.03.2019
Сообщений: 11

Парсер для yandex photo

12.09.2024, 01:48. Показов 641. Ответов 0

Студворк — интернет-сервис помощи студентам
Здравствуйте. Написал вот такой незамысловатый код. На что хватило знаний. Проблема заключается в том, что у меня n-ое кол-во фотографий с товаром. Я хочу с помощью yandex photo находить этот товар с самой низкой ценной на всех площадках. Если в строке "filename" указывать одно всё работает как надо за исключением выгрузки фотографии в таблицу excel. А если пусть это через цикл for. то обновляются только filename. Цена не обновляется. Я полный новичок в программировании. Прошу сильно не ругаться.
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
import os
import time
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as ec
 
import openpyxl
from openpyxl.drawing.image import Image
 
# Set the folder path
folder_path = '/home/wanlix/PycharmProjects/pythonProject/photo'
 
# Create a new instance of the Chrome driver
driver = webdriver.Chrome()
 
# Navigate to Yandex.Images
driver.get("https://yandex.ru/images/")
 
try:
    # Create lists to store the data
    prices = []
    links = []
 
    # Iterate over all files in the folder
    for filename in os.listdir(folder_path):
        # Upload the photo to Yandex.Images
        image_input = WebDriverWait(driver, 10).until(
            ec.presence_of_element_located((By.CSS_SELECTOR, "input[type='file']")),
            message="Таймаут ожидания поля ввода файла"
        )
        print("Поле ввода файла найдено")
        time.sleep(0.1)
        image_input.send_keys(os.path.join(folder_path, filename))
        print(f"Файл {filename} отправлен в поле ввода файла")
        time.sleep(0.1)
 
        # Wait for the search results
        search_results = WebDriverWait(driver, 10).until(
            ec.presence_of_all_elements_located((By.ID, "cbir-products-title")),
            message="Таймаут ожидания результатов поиска"
        )
        print("Результаты поиска загружены")
        time.sleep(0.1)
 
        # Extract the price text for each file
        span_element = WebDriverWait(driver, 10).until(
            ec.presence_of_element_located((By.XPATH, "//span[@class='Price-Value']")),
            message="Таймаут ожидания цены"
        )
        price_text = span_element.text
        print(price_text)  # Output: 1 108 ₽
 
        # Store the data
        data = {
            "Photo": filename,
            "Price": price_text
        }
        prices.append(data["Price"])
        links.append(filename)
 
    # Create an Excel file and add a worksheet
    wb = openpyxl.Workbook()
    ws = wb.active
 
    # Set the header row
    ws['A1'] = "Photo"
    ws['B1'] = "Price"
 
    # Iterate over the data and add it to the worksheet
    for i, data in enumerate(zip(links, prices)):
        # Insert the photo
        img_path = os.path.join(folder_path, data[0])
        img = Image(img_path)
        ws.add_image(img, f'A{i+2}')
 
        # Add the price text
        ws[f'B{i+2}'] = data[1]
 
    # Save the Excel file
    wb.save("output.xlsx")
 
except Exception as e:
    print(f"Ошибка произошла: {e}")
 
finally:
    # Закрытие браузера
    driver.quit()
    print("Браузер закрыт")
Помогите с обновлением цены. При моих четных попытках это реализовать открывается два окна chrome и всё. И объясните как правильно работать с созданием таблицы excel. Заранее большое спасибо
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
12.09.2024, 01:48
Ответы с готовыми решениями:

Парсер адресов google, yandex, mail и т.д
Всем привет. Все знают, что если при создании почты google, yandex, mail и других ввести занятый адрес, то появится соответствующее...

Готовое решение. Парсер комментариев Zen.Yandex
На самоизоляции, нечем заняться - сваял парсерок. Авось кому-то пригодится. <?php header("Content-type: text/html;...

Парсер на PHP c <Yandex:full-text> и <[!С D А T А[тут полный текст]]>
header('Content-type: text/html; charset=utf-8'); $url = 'https://zapad24.ru/news/kansk/rss.xml'; //$file = file_get_contents(...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
12.09.2024, 01:48
Помогаю со студенческими работами здесь

Парсер. Yandex как-то определяет, что запрос от скрипта, и возвращает капчу.
$proxyYandex = Proxy::model()-&gt;getRandProxyYandex(); $unQuery = 'site:vk.com' ; $predFiltrLink =...

Плагин VK-Photo для wordpress
Привет, в очередной раз плагин vk-photo перестал работать теперь выдает ошибку: Invalid request: versions below 5.81 are deprecated....

Драйвер для Epson Stylus Photo T50
Нужен срочно драйвер для принтера Epson Stylus Photo T50, для Винды 10 (64), на оф. сайте только для 8(64). Помогите!!!

Простой макрос для Corel Photo-Paint
Подскажите, пожалуйста, как будет выглядеть макрос, который изменит разрешение в активном документе - файле .jpg 500*500px и сохранит этот...

Ajustment program для Epson Stylus Photo RX690
Help уважаемые кто подскажет где скачать прогу Ajustment program RX690? Плиз очень надо. Огромное спасибо.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
Звёздная пыль
kumehtar 20.06.2025
Я просто это себе представляю: как создавался этот мир. Как энергия слипалась в маленькие частички. Как они собирались в первые звёзды, как во вселенной впервые появился Свет. Как эти звёзды. . .
Создание нейросети с PyTorch
AI_Generated 19.06.2025
Ключевое преимущество PyTorch — его питоновская натура. В отличие от TensorFlow, который изначально был построен как статический вычислительный граф, PyTorch предлагает динамический подход. Это. . .
JWT аутентификация в ASP.NET Core
UnmanagedCoder 18.06.2025
Разрабатывая веб-приложения, я постоянно сталкиваюсь с дилеммой: как обеспечить надежную аутентификацию пользователей без ущерба для производительности и масштабируемости? Классические подходы на. . .
Краткий курс по С#
aaLeXAA 18.06.2025
Здесь вы найдете все необходимые функции чтоб написать програму на C# Задание 1: КЛАСС FORM 1 public partial class Form1 : Form { Spisok listin = new Spisok(); . . .
50 самых полезных примеров кода Python для частых задач
py-thonny 17.06.2025
Эффективность работы разработчика часто измеряется не количеством написаных строк, а скоростью решения задач. Готовые сниппеты значительно ускоряют разработку, помогают избежать типичных ошибок и. . .
C# и продвинутые приемы работы с БД
stackOverflow 17.06.2025
Каждый . NET разработчик рано или поздно сталкивается с ситуацией, когда привычные методы работы с базами данных превращаются в источник бессонных ночей. Я сам неоднократно попадал в такие ситуации,. . .
Angular: Вопросы и ответы на собеседовании
Reangularity 15.06.2025
Готовишься к техническому интервью по Angular? Я собрал самые распространенные вопросы, с которыми сталкиваются разработчики на собеседованиях в этом году. От базовых концепций до продвинутых. . .
Архитектура Onion в ASP.NET Core MVC
stackOverflow 15.06.2025
Что такое эта "луковая" архитектура? Термин предложил Джеффри Палермо (Jeffrey Palermo) в 2008 году, и с тех пор подход только набирал обороты. Суть проста - представьте себе лук с его. . .
Unity 4D
GameUnited 13.06.2025
Четырехмерное пространство. . . Звучит как что-то из научной фантастики, правда? Однако для меня, как разработчика со стажем в игровой индустрии, четвертое измерение давно перестало быть абстракцией из. . .
SSE (Server-Sent Events) в ASP.NET Core и .NET 10
UnmanagedCoder 13.06.2025
Кажется, Microsoft снова подкинула нам интересную фичу в новой версии фреймворка. Работая с превью . NET 10, я наткнулся на нативную поддержку Server-Sent Events (SSE) в ASP. NET Core Minimal APIs. Эта. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru
OSZAR »