Ответы пользователя по тегу Python
  • Почему не импортируются пакеты поставлены через pip после обновления Fedora?

    @theg4sh
    Судя по трейсу, проблема не в установке telebot, а в отсутствии экспорта integer_types в compat из пакета requests.
    Попробуйте обновить модуль requests:
    sudo `which pip3.4` install requests
    По крайней мере, для python3.4 c версией пакета requests-2.12.3 из pip3.4 все в порядке:
    >>> import requests
    >>>

    Можно так же попробовать установить конкретную версию пакета:
    sudo `which pip3.4` install requests==2.12.3
    Ответ написан
    Комментировать
  • Python Парсинг через прокси не работает?

    @theg4sh
    Для начала сделайте лог исключений:
    except Exception as e:
      log_ex(e);
      valid_request = False;

    Быть может Вы что-то да не учли.

    Так же надо учесть, что прокси могут выдавать контент после 10s (так скорее всего и есть).
    Большинство из забугорных proxy могут выдавать контент и после 60s, так что для начала отсейте долгие из списка. Кроме того, контент может быть подменен самой proxy в случае неудачи.

    Попробуйте Tor наконец - ведь ваша цель сграббить контент сайта, который блокирует после n запросов в минуту?
    Ответ написан
  • Плохо ли использовать одну глобальную константу?

    @theg4sh
    Использовать конструкцию вида:
    class Auth:
      _instance = None;
      def __init__(self, user, pswd):
        # some initialization
        self._id = None
        pass
      def getId(self):
        return self._id
      @staticmethod
      def getInstance(user, pswd):
        if Auth._instance is None:
          Auth._instance = Auth(user, pswd)
        return Auth._instance
    
    # later use authorization as Auth.getInstance().getId();

    Вообще, стоит познакомиться поближе с понятием Singleton и содержимым вот этой ссылочки

    Upd: пример-примером, но поправил инициализацию, извиняюсь :)
    Upd2: метод getInstance должен быть статическим, чтобы удовлетворять условию использования Auth.getInstance(). Поправил.
    Ответ написан
    4 комментария