1 / 1 / 0
Регистрация: 28.06.2022
Сообщений: 50

Grequests почему не находит все ключи?

16.08.2022, 14:17. Показов 927. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Если убрать условные операторы с "sell_order_summary" и "sell_order_graph" будет работать корректно, почему не работает тогда этот код?
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
import grequests
import json
import fake_useragent
urls=[]
try:
    for url in range(176288495,176288500):
        urls.append(f"https://steamcommunity.com/market/itemordershistogram?country=RU&language=russian&currency=5&item_nameid={url}&two_factor=0")
    responce=[grequests.get(u, headers={'user-agent' : fake_useragent.UserAgent().random}) for u in urls]
    maps=grequests.map(responce)
    print(maps)
    for count in maps: #
        js=json.loads(count.text)
        print(js)
        for key in js.keys():
            print(key)
            if key == 'buy_order_graph':
                order_price = float(js.get(key)[0][0])
            if key == 'sell_order_summary':
                quantily = int(str(re.findall("\d+", js.get(key))[0]).replace("{'", '').replace("'}", ''))
            if key == 'sell_order_graph':
                normal_price = float(js.get(key)[0][0])
        print(f'{order_price} -- {normal_price} -- {quantily} ')
except Exception:
    pass
finally:
    pass
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
16.08.2022, 14:17
Ответы с готовыми решениями:

Dictionary не находит ключи в коллекции
Всем привет. Прошу помощи. Пишу программу, которая ищет все возможные повторы. Столкнулся с проблемой, когда программа рассматривает по...

Google находит ключи в категориях,а не на страницы материала. (тупо игнорит)
Google находит ключи в категориях,а не на страницы материала. (тупо игнорит) Уже со вторым сайтом такая беда. Google ищет ключи...

python grequests
Добрый день. Пожалуйста подскажите , почему не работает , всегда возвращает None. with open("orders.txt") as...

5
2431 / 1474 / 633
Регистрация: 01.11.2021
Сообщений: 2,269
16.08.2022, 15:01
Лучший ответ Сообщение было отмечено Squidy как решение

Решение

У меня работает, что-то выводит.
Только я бы изменил немного, не нужно каждый раз по всем ключам пробегать и сравнивать, можно же сразу проверить есть ли он или нет в словаре.
Python
1
2
3
4
5
6
7
8
9
10
    for count in maps: #
        js=json.loads(count.text)
        order_price = quantily = normal_price = None
        if 'buy_order_graph' in js:
            order_price = js.get('buy_order_graph')[0][0]
        if 'sell_order_summary' in js:
            quantily = int(str(re.findall("\d+", js.get('sell_order_summary'))[0]).replace("{'", '').replace("'}", ''))
        if 'sell_order_graph' in js:
            normal_price = float(js.get('sell_order_graph')[0][0])
        print(f'{order_price if order_price else None} -- {normal_price if normal_price else None} -- {quantily if quantily else None} ')
Добавлено через 4 минуты
Если только ты не забыл модуль импортировать регулярных выражений )
Python
1
import re
1
1 / 1 / 0
Регистрация: 28.06.2022
Сообщений: 50
16.08.2022, 15:05  [ТС]
Alexarh,
Миниатюры
Grequests почему не находит все ключи?  
0
1 / 1 / 0
Регистрация: 28.06.2022
Сообщений: 50
16.08.2022, 15:06  [ТС]
Alexarh, Чёрт, забыл и в правду добавить модуль,спасибо
0
2431 / 1474 / 633
Регистрация: 01.11.2021
Сообщений: 2,269
16.08.2022, 15:14
Squidy, эту строку можно оставить, как была у тебя, там все равно все эти значения None будут, мы их выше объявили, если ключей нет.
Python
1
print(f'{order_price} -- {normal_price} -- {quantily} ')
Добавлено через 2 минуты
Squidy, кстати, ты бы и сам понял свою ошибку, если бы глупо не оборачивал в бесполезный try-except, тогда ошибку тебе написали бы.
0
1 / 1 / 0
Регистрация: 28.06.2022
Сообщений: 50
16.08.2022, 17:19  [ТС]
Alexarh, знаю) спасибо
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
16.08.2022, 17:19
Помогаю со студенческими работами здесь

Почему у меня не устанавливаются внешние ключи?
почему у меня не устанавливаются внешние ключи? ALTER TABLE Книги ADD FOREIGN KEY R_2 (Код_издательства) REFERENCES Издательство...

Почему выводятся и ключи, и индексы 0 и 1 из массива от fetchAll()?
День добрый ! Учу PDO. И снова появился вопрос. //dishes это таблица, dish_name, price - столбцы ...

Почему сбрасываются ключи при сортировки массива ф-ей sort?
Пример: $array=array(1=>1,a=>7,b=>3,4=>5); sort($array); print_r($array);// выведет Array ( => 1 => 3 => 5 => 7 ) ...

Почему при одинаковых входных данных CryptDeriveKey генерит разные ключи?
Одинаковый провайдер, одинаковый метод, одинаковые хэш данные а ключи всё время разные .... Почему? Добавлено через 3 минуты Ну я...

GetPrivateProfileString не выводит все ключи
Добрый день! Мучаюсь уже несколько дней, так и не пойму в чем загвоздка. Вообщем есть WinApi функция GetPrivateProfileString : ...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

Новые блоги и статьи
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru