@n4ural

Почему при принте парсинга выдаются разные значения, а при добвлении в список одинаковые?

Во время парсинга через print выдаются разные значения, но когда я добавляю эти значиная в список, то в списке значения оказываются одинаковыми.
При чем это касается только product_href_name, а с остальными значениями все хорошо.
href = []
name = []
cost = []
ozon_cost = []

    catalog = soup.find_all('div', class_='jv8 v8j')
    for block in catalog:
        product_href_name = str(block.find('a', class_='tile-hover-target ju1'))
        product_name = str(product_href_name[product_href_name.find('<span>')
            +1:product_href_name.find('/<span>')]).replace('</span></span></a', '').replace('span>', '')

        product_price_dirt = str(block.find('span', class_='ui-p2 ui-p6 ui-p9'))
        if product_price_dirt == 'None':
            product_price_dirt = str(block.find('div', class_='ui-p'))
            print('работает')
        no_extra_num_price = re.sub(r'(ui-p2|ui-p6|ui-p9)', '', product_price_dirt)
        product_price = str(nums_from_string.get_nums(no_extra_num_price)).replace('[', '').replace(']', '')

        product_price_ozoncard_dirt = str(block.find('div', class_='ui-o'))
        if product_price_ozoncard_dirt == 'None':
            product_price_ozoncard_dirt = '30000'
        product_price_ozoncard = str(nums_from_string.get_nums(product_price_ozoncard_dirt)
                                     ).replace('[', '').replace(']', '').replace('1, ', '')

        print(product_href_name)
        print(product_name)
        print(product_price)
        print(product_price_ozoncard)

        href.append(product_href_name)
        cost.append(product_price)
        ozon_cost.append(product_price_ozoncard)
        name.append(product_name)

    print(str(i))
    driver.quit()

result_list = {'href': product_href_name, 'name': product_name, 'cost': cost, 'OzonCard price': ozon_cost}
  • Вопрос задан
  • 77 просмотров
Решения вопроса 1
@n4ural Автор вопроса
Степан Крапивин, Борис Алексеев, Алан Гибизов, mayton2019
Ответ оказался сликом прост.
Я здесь все добавляю в списки и со списками все хорошо.
href.append(product_href_name)
cost.append(product_price)
ozon_cost.append(product_price_ozoncard)
name.append(product_name)

А в словарь отправляю переменную вместо списка.
result_list = {'href': product_href_name, 'name': product_name, 'cost': cost, 'OzonCard price': ozon_cost}

И это было сложно заметить, так как ключ такой же, как название списка. Теперь буду знать, что не стоит называть ключи так же, как и список
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы