Парсинг сайтов на Python: Приемы работы с библиотекой BeautifulSoup

Поделиться
HTML-код
  • Опубликовано: 17 ноя 2024

Комментарии • 130

  • @trueinsane4205
    @trueinsane4205 7 лет назад +76

    Как же сложно найти среди информационного мусора действительно хорошие материалы. Олег. спасибо Вам большое за Ваши уроки, они действительно хороши и толковы. Продолжайте в том же духе. На канал подписался, буду рекомендовать Вас знакомым.

    • @zaemiel
      @zaemiel  7 лет назад +7

      Спасибо большое. Рад, что вам нравится.

    • @johnyknows19
      @johnyknows19 6 лет назад

      +1

  • @vladimirIvanov-ut9fo
    @vladimirIvanov-ut9fo Год назад

    6 лет видео, каналов про пайтон сотни уже, но Олег топ- 1 по качеству объснения, посмотрел около двух десятков его уроков и восхищен, насколько он точными и несложными словами передает процесс написания кода и смысл всех действий.Лучше и понятней уже некуда, это потолок

  • @cookiehunter8828
    @cookiehunter8828 7 лет назад +13

    Качество и доходчивость - 10 из 10.

  • @FedorSTR
    @FedorSTR 7 лет назад +6

    Приятная и спокойная речь, ощущение как будто сидишь на берегу и созерцаешь как течет река. Машинально тянет на написание хокку. Спасибо за труды.

    • @zaemiel
      @zaemiel  7 лет назад

      Спасибо :)

  • @Sergey-cz7ym
    @Sergey-cz7ym Год назад

    Супер, и суп и регулярку подтянул. Все бы делали такие уроки. Большинство обычно пропускает нудное объяснение что откуда берем, для чего и как, а зачастую именно это все новички и ищут

  • @thesergeymen2632
    @thesergeymen2632 6 лет назад +7

    В видео не услышал, если кому интересно: "lxml" сторонний парсер(установить через pip), если не установлен, то ошибка библиотеки, встроенный html-парсер питона: "html.parser", он есть изначально и его не нужно устанавливать. Это для новичков, А ВИДОС КРУТОЙ, ВСЁ ПОНЯТНО И ДОХОДЧИВО. Спасибо автору за старания.

  • @ИмяФамилия-в9з9с
    @ИмяФамилия-в9з9с 5 лет назад +4

    Спасибо вам за ваш труд! На таких людях держится интернет :) желаю успехов в начинаниях и больше роликов! :)

    • @zaemiel
      @zaemiel  5 лет назад

      Спасибо

  • @СергейДашкевич-х9к
    @СергейДашкевич-х9к 6 лет назад +5

    На конец-то качественная информация,как же сложно ее отыскать среди "мусора"...
    Большое спасибо за урок!

    • @zaemiel
      @zaemiel  6 лет назад

      Спасибо.

  • @AlexK544
    @AlexK544 7 лет назад

    Олег, добрый день!
    Спасибо большое за вашу работу, все очень понятно и доступно.
    Ваш формат для тех, кто действительно хочет научиться и разобраться, а не "весь питон и парсинг всего интернета за один 10 минутный урок" , пожалуйста продолжайте, Вы очень хорошо объясняете.

  • @saitaro
    @saitaro 5 лет назад

    Лучшие уроки по питону как минимум в русскоязычном RUclips

  • @АлександрТерновой-п6з

    Два дня искал нуж ную информацию, нашел только у Вас. Все доходчиво и понятно, спасибо!

  • @velkom4389
    @velkom4389 4 года назад

    Это лучшее что есть в интернете. Спасибо!

  • @sainco3036
    @sainco3036 7 лет назад +11

    Хорошо разжевал, большое спасибо.

  • @anmaner5729
    @anmaner5729 7 лет назад +2

    Спасибо большое, замечательный урок, все максимально просто и понятно)

  • @bitgo8561
    @bitgo8561 4 года назад

    Очень интересно) Собираюсь учить python сразу с прикладной задачи и Ваш канал думаю очень поможет)

  • @ЕвгенийВаршавский-ц2б

    С такой качественной подачей материала ты явно заслуживаешь больше просмотров. Благодарочка тебе!

  • @АлександрБирюков-о2л

    Было бы круто увидеть уроки по Scrapy. В русскоязычном youtube их нет!

  • @ДмитрийКотик-и1р
    @ДмитрийКотик-и1р 6 лет назад +2

    Замечательное видео, спасибо тебе огромное!

    • @zaemiel
      @zaemiel  6 лет назад

      Спасибо! Рад, что вам понравилось.
      Заходите еще.

  • @РашидАлимов-з1в
    @РашидАлимов-з1в 3 года назад

    Неточность при написании регулярки 30:22
    точка (.) - означает любой символ(в том числе и знаки табуляции)
    чтобы регулярка искала именно точку, нужно было прописать "\."

  • @respecktpro2954
    @respecktpro2954 4 года назад

    Спасибо огромное за всё!

  • @edwardhigginson6772
    @edwardhigginson6772 5 лет назад

    Олег, спасибо Вам большое за Ваши обучающие видео!
    Не знаю спрашивали ли у Вас уже или нет, но хотел выразить пожелание/предложение к Вам сделать серию обучающих видео по фреймворку Scrapy. В рунете про него минимум информации, несколько статей раскиданых по всему рунету и полтора русскоязычных ролика на ютубе. По нему нет даже переводов книг. Думаю многие бы выразили Вам свою признательность за подобные уроки по Scrapy и кроме этого это сильно добавило бы популярности Вашего youtube канала (хотя она и так на высоте).

  • @hexruin4569
    @hexruin4569 4 года назад

    2020, всё ещё актуально! Спасибо

  • @senejistsenejist7040
    @senejistsenejist7040 4 года назад

    Олег, я очень почитаю вашу деятельность. Если требуется что-то изучить то смотрю нет ли этого у вас:)))
    P.S Дальнейшего развития и ещё большего миросозерцания!))

  • @7503777
    @7503777 7 лет назад

    Спасибо! Познавательно и самое главное - понятно!

  • @codingmedved9026
    @codingmedved9026 7 лет назад +2

    Интересно! Спасибо за видео

  • @sergeykireev1431
    @sergeykireev1431 5 лет назад

    Отличные уроки

  • @ИванПриписнов
    @ИванПриписнов 2 года назад

    лайк не глядя

  • @ИванИванов-м4л6ц
    @ИванИванов-м4л6ц 4 года назад

    Super!!! Thanks

  • @ckortez222
    @ckortez222 6 лет назад

    Видео супер!!!!!!!!!

  • @US1235cool
    @US1235cool 5 лет назад

    Спасибо большое!

  • @Денис3-ю2н
    @Денис3-ю2н 7 лет назад

    Незаслуженно обделен вниманием метод select(). При умелом обращении он обойдет и find(), и find_all() вместе взятые.

  • @АквапринтАлматы
    @АквапринтАлматы 5 лет назад +3

    UnicodeDecodeError: 'charmap' codec can't decode byte 0x98 in position 16992: character maps to ошибки при открытии

    • @chooze2999
      @chooze2999 4 года назад

      решил проблему?

    • @chooze2999
      @chooze2999 4 года назад

      html = open('index.html', encoding='utf-8').read()
      Просто нужно было указать кодировку.

  • @ДиванныйЭксперд
    @ДиванныйЭксперд 5 лет назад

    Хорошо бы еще вариант с таблицами (имеющими свои css стили, в том числе) рассмотреть примеры

    • @zaemiel
      @zaemiel  5 лет назад +1

      посмотрите видео про парсинг сайта в несколько процессов - там как раз таблица парсилась.

    • @ДиванныйЭксперд
      @ДиванныйЭксперд 5 лет назад

      @@zaemiel спасибо, гляну. Пробую работать с сайтом cataloxy.ru - но он постоянно банит мои ip

  • @ihorn455
    @ihorn455 7 лет назад

    Очень доступно..

  • @shaddarxranngazz4515
    @shaddarxranngazz4515 5 лет назад

    Подскажите пожалуйста, как в pycharm запустить. В терминале пустота. Все перетыкал уже

  • @АртёмДавыдов-ы5э
    @АртёмДавыдов-ы5э 4 года назад

    Добрый вечер скажите а это библиотека BeautifulSoup подойдет для парсинг аккаунтов в instagram или нет

  • @bingo1986
    @bingo1986 4 года назад

    а как можно ввести данные на сайте?
    например отправка сообщений,коментов заполнение - в общем любых input-полей?

  • @ilyham.d.8923
    @ilyham.d.8923 6 лет назад

    Спасибо

  • @it-coding
    @it-coding 5 лет назад

    Здравствуйте, не могу привязаться к элементам , и сверху и снизу h2
    req = div.find('h2').find_parent('h2')
    не находит не чего
    выше идет div
    вписываю в парент - див, и выдает все и даже то , что выше , перескакивает на div который выше и там инфу захватывает , которая мне не нужна,
    не могу понять, как тут быть?) может сможете помочь

  • @sergeymavilov8381
    @sergeymavilov8381 5 лет назад

    Спасибо за видео, во всем разобрался. Небольшой вопрос, по тегам и остальному все понял, а вот как сам текст извлечь . text = soup.find(attrs= {'name': 'description'}) - так он целиком показывает, но оно и понятно, а как сам текст, додумать не получается.

    • @zaemiel
      @zaemiel  5 лет назад

      текст извлекается свойством .text

  • @lecire5857
    @lecire5857 6 лет назад +1

    При попытке открыть файл (html = open('index.html').read()) возникает ошибка:
    UnicodeDecodeError: 'ascii' codec can't decode byte 0xd0 in position 757: ordinal not in range(128)
    Что может быть не так?

    • @Captain_jasey
      @Captain_jasey 5 лет назад

      Смени кодировку с asii на UTF-8

  • @orkhangasanov
    @orkhangasanov 5 лет назад

    Олег, можешь пожалуйста подсказать. Каким образом реализуется парсинг динамических данных, например плей лист радио, которое меняется каждый раз, когда один трек закончился и начался новый? Имеется ли подобный метод в BS, который в режиме онлайн отслеживает изменения или возможно для этого используется другая библиотека?

    • @ДимаЕфименко-и4д
      @ДимаЕфименко-и4д 4 года назад

      Тут нужно юзать селениум, или отследить запросы и отправлять их напрямую.

  • @Dmitry_Borisovich
    @Dmitry_Borisovich 4 года назад

    5:18 пробую по видео, у меня вместо кириллицы выводит иероглифы, хотя в браузере всё нормально отображается. Что не так??

    • @ӘдеміЖігіт
      @ӘдеміЖігіт 4 года назад

      Кодировку на Юникод менять пробовал?

  • @ivettywatajok2469
    @ivettywatajok2469 7 лет назад

    помогите установить bs4 в sublime 3. я его не могу найти в package control? bs4.FeatureNotFound: Couldn't find a tree builder with the features you requested: lxml. Do you need to install a parser library? это, его же не видит. Вроде установлен, а что не так не пойму?

    • @zaemiel
      @zaemiel  7 лет назад +1

      BeautifulSoup - это библиотека языка Python.
      Она не имеет отношения к редактору текста Sublime Text.
      Чтобы установить BeautifulSoup выполните в консоли эту команду:
      pip install beautifulsoup4
      Сам Суп используют парсеры, у вас должен быть установлен также парсер lxml. Проверьте это командой:
      pip freeze
      (найдите его в списке)
      Если lxml не установлен, то, чтобы его установить выполните в консоли:
      pip install lxml

  • @IGORVBORODIN
    @IGORVBORODIN 4 года назад

    5+
    Спасибо

  • @andy_top6676
    @andy_top6676 4 года назад

    Здравствуйте,у меня такая проблема,пожалуйста ответьте.
    Методом href = find_all(class_="pi"),я вывожу список print(href)
    В этом списке у каждого класса pi есть href = ссылка. Я это вижу.
    После этого мне нужна эта ссылка,я делаю: for i in href: url = i.get("href") list.append(url) print(list)
    Я вывожу список лист,в который записывал ссылки href, но в него ничего не записалось. Т.е. выводит None,None,None... .
    Не находит href ссылку,или не может найти я незнаю,но мне очень нужно.Что делать,помогите пожалуйста

  • @Dmitrii-Kalashnikov
    @Dmitrii-Kalashnikov 6 лет назад

    Олег подскажите как выводить данные своей функции(спарсенный с ЦБ курс USD) в проекте Django на html странице ? И как лучше такие данные выводить ? Записать в файл и уже из него эти данные будут выводиться на странице по реквесту пользователя ? Или есть другие методы?

    • @zaemiel
      @zaemiel  6 лет назад

      Можно из вьюх вызывать парсер, можно из моделей (если у вас логика такая).
      Django'вские .py файлы это по-сути обычные скрипты, вызываете в нужном месте парсер и все. Просто решите, в какой момент это нужно делать.

    • @Dmitrii-Kalashnikov
      @Dmitrii-Kalashnikov 6 лет назад

      Олег, я пытался из views.py это делать, но знаний не хватает как оформить функцию... Гуглил, но не нашел пока способ с примером.

    • @zaemiel
      @zaemiel  6 лет назад

      и что же вы гуглили? Как делать импорт функций в другие модули?
      Парсер - это функция, которая возвращает результат. Единственное, что нужно сделать - вызвать эту функцию и получить результат. Затем у вас были какие-то планы по поводу того, что с этим результатом нужно сделать.

  • @ДмитрийКотик-и1р
    @ДмитрийКотик-и1р 6 лет назад

    А отличие .text от .string в том, что .string возвращает None, если элемент пуст, а .text возвращает пустую строку? Или есть еще какие-то отличия?

  • @ДаниилДмитриевич-з3к

    Больше спасибо за предоставленное видео ! Очень помогло )
    Единственное возник вопрос, что время от времени выскакивает ошибка "AttributeError: 'NoneType' object has no attribute 'find_all'". Повторюсь, эта ошибка выскакивает не всегда. С чем это может быть связанно ?

    • @zaemiel
      @zaemiel  7 лет назад

      NoneType... означает, что объект, который вызывает find_all, скорее всего пуст. Попробуйте вывести его на печать...

    • @ДаниилДмитриевич-з3к
      @ДаниилДмитриевич-з3к 7 лет назад

      В том-то и дело, что они не пустые. Потому-что после нескольких повторных запусков выдается нормальный результат. Я никак не могу понять закономерность таких вот результатов :) Может ли это быть связанно с тем, что объект для исследований выбран 'instagram' ?

    • @zaemiel
      @zaemiel  7 лет назад

      Не всегда пустой, но чаще это бывает именно так... поэтому и написал, что "скорее всего"...
      Проверьте тип полученного объекта - find(), find_all() и т.п. - это методы объектов Супа...
      Если у вас переменная ссылается на другой объект (не Супа), то соответствующих методов у него точно нет - поэтому и возбуждается это исключение "AttributeError"
      По вашем описанию, кажется, что 'instagram' - это уже строка

    • @yuliayulia8773
      @yuliayulia8773 7 лет назад

      попробуй вместо find_all прописать findAll

    • @zaemiel
      @zaemiel  7 лет назад +1

      результат не изменится.
      изначально этот метод назывался findAll (и другие тоже были в camel-case). А потом грянул PEP8 и стандартом названия для методов и функций стал snake-case, и все методы снабдили элиасами (alias), т.е. псевдонимами.
      Так родился find_all()
      Но это один и тот же метод.
      NoneType означает, что объект, которые вызывает find(), find_all() и другие методы Супа, объектом Супа не является, либо пуст.
      Нужно проверять тип данных у того объекта, на который ссылается переменная.
      print(type(variable)) - и сразу станет все понятно

  • @archontesarchontes1705
    @archontesarchontes1705 6 лет назад

    Спасибо за уроки !
    Вот с помощью get('href') мы получаем ссылку.
    А как получить только текст ссылки?

  • @Нострадамус-у3в
    @Нострадамус-у3в 5 лет назад

    Олег, не подскажешь, в каком видео вы показывали способ удаление пустых строк в файле формта csv. Не могу найти

    • @zaemiel
      @zaemiel  5 лет назад

      Я сам не помню

    • @Нострадамус-у3в
      @Нострадамус-у3в 5 лет назад

      @@zaemiel:)) Я уже узнал. Кому надо - там необходимо заранее прописать newline='''

    • @Нострадамус-у3в
      @Нострадамус-у3в 5 лет назад

      @@zaemiel Олег, тебе большой ресспект! Таких уроков на русском я больше нигде не видел!

    • @zaemiel
      @zaemiel  5 лет назад

      Спасибо

    • @АлександрК-ш
      @АлександрК-ш Год назад

      @@Нострадамус-у3в А где прописывать?

  • @ДмитрийШевчук-д8ь
    @ДмитрийШевчук-д8ь 6 лет назад

    у меня проблема с методом find_all, он у меня почему-то возвращает список. В чем может быть проблема не подскажите?

    • @zaemiel
      @zaemiel  6 лет назад

      Не очень понял вашу проблему.
      Можно сказать, что .find_all() возвращает список. На самом деле нет, но это зависит от вашей задачи (проблемы), которую вы хотите решить.

  • @Anttoone
    @Anttoone 7 лет назад

    Подскажите почему у меня ошибка:
    "UnicodeDecodeError: 'ascii' codec can't decode byte 0xd0 in position 173: ordinal not in range(128)"?

    • @zaemiel
      @zaemiel  7 лет назад

      - какая у вас операционная система?
      - ошибка потому, что попался не ascii символ типа знака доллара или еще что-то

    • @Anttoone
      @Anttoone 7 лет назад

      Олег Молчанов - macOS
      Я так понимаю нужно привести к Unicode, но не понимаю где и как это сделать

    • @zaemiel
      @zaemiel  7 лет назад

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

    • @Anttoone
      @Anttoone 7 лет назад

      Олег Молчанов print(div)
      Div - найденный так же как у Вас объект soap

    • @zaemiel
      @zaemiel  7 лет назад

      а в консоли нормально выводит?

  • @alexandralexandrovich733
    @alexandralexandrovich733 6 лет назад

    Не могу понять почему иногда у метода не указываются "()", как например у метода "text" или "parent". Обычно просто через точку вызываются атрибуты класса, если в конце нет "()", а с ними как раз методы.

    • @zaemiel
      @zaemiel  6 лет назад

      Это атрибуты, но не методы, а свойства. Поэтому там нет скобок.

    • @alexandralexandrovich733
      @alexandralexandrovich733 6 лет назад

      Тогда я все правильно понимаю. Просто в книгах, которые я читал автор допускал свойства класса называть и атрибутами класса, поэтому я так и написал. Благодарю за оперативность.

  • @ДИМАМАКОЛКИН-с1н
    @ДИМАМАКОЛКИН-с1н 7 лет назад

    Модуль lxml должен быть установлен?

    • @zaemiel
      @zaemiel  7 лет назад

      Да
      lxml входит в стандартную поставку, т.е. ставится в систему по дефолту.
      Если вдруг это не так, то как обычно:
      pip install lxml

  • @alexandralexandrovich733
    @alexandralexandrovich733 6 лет назад

    Помогите начинающему! Сохраняю некоторые страницы для парсинга. Но Python не открывает их. Пишет: Traceback (most recent call last):
    File "C:/Programming/Python test/Parsing/parser.py", line 19, in
    main()
    File "C:/Programming/Python test/Parsing/parser.py", line 11, in main
    html = open('Хоккей - Континентальная Хоккейная Лига - Чемпионат России по хоккею - Официальный сайт КХЛ.html').read()
    File "C:\Users\Crocodile\AppData\Local\Programs\Python\Python36-32\lib\encodings\cp1251.py", line 23, in decode
    return codecs.charmap_decode(input,self.errors,decoding_table)[0]
    UnicodeDecodeError: 'charmap' codec can't decode byte 0x98 in position 42680: character maps to

    • @zaemiel
      @zaemiel  6 лет назад +2

      UnicodeDecodeError: 'charmap' codec can't decode byte 0x98 in position 42680
      Попался не ASCII символ - типа знака фунта стерлингов, рубля, кириллицы и т.п.
      Одна из особенностей Windows заключается в том, что она не знает что такое Unicode
      попробуйте указать кодировку явно:
      file = open(filename, encoding="utf8")
      Лучше, конечно, избегать кириллицы, верхнего регистра и пробелов в путях и именах файлов

    • @alexandralexandrovich733
      @alexandralexandrovich733 6 лет назад +1

      Спасибо огромное. Заработало. Я и сам понял, что с кодировкой проблемы, но как решить не смог догадаться. Хотя теперь вспомнил, что читал про явное объявление кодировки. Еще раз спасибо.

    • @zaemiel
      @zaemiel  6 лет назад

      Всегда пожалуйста

  • @РоманШарипов-ф5г
    @РоманШарипов-ф5г 6 лет назад

    Олег Привет!
    Скажи пожалуйста в чем проблема,почему у меня после конвертирования в exe файл выдает такую ошибку?
    prnt.sc/lb1mhc

    • @zaemiel
      @zaemiel  6 лет назад +1

      к сожалению, я не знаю

    • @РоманШарипов-ф5г
      @РоманШарипов-ф5г 6 лет назад

      @@zaemiel Я разобрался,надо переустановить библиотеку под нужно/новую версию..
      Все равно спасибо что ответил)

  • @АквапринтАлматы
    @АквапринтАлматы 5 лет назад

    File "C:\Users\work\AppData\Local\Programs\Python\Python37-32\lib\encodings\cp1251.py", line 23, in decode
    return codecs.charmap_decode(input,self.errors,decoding_table)[0]
    UnicodeDecodeError: 'charmap' codec can't decode byte 0x98 in position 16992: character maps to
    [Finished in 0.6s]

  • @sogorich
    @sogorich 5 лет назад

    TypeError: object of type 'Response' has no len() Вот что выводит

    • @zaemiel
      @zaemiel  5 лет назад

      Объекты класса Response не являются итерируемыми объектами и у них нельзя определить длину.
      Видео, конечно, рассчитано на начинающих, но основы языка нужно знать в любом случае.

    • @sogorich
      @sogorich 5 лет назад

      Олег Молчанов Моя не внимательность. Ошибка была исправлена путём добавления к функции BeautifulSoup в первым аргументом после переменной с url страницы .text

  • @originalme8264
    @originalme8264 7 лет назад

    Какой питон юзаете? 3 или 2.7?

    • @zaemiel
      @zaemiel  7 лет назад

      постоянно используемая мной функция print() как бы намекает, что это Python 3.
      Я использую только Python 3

    • @originalme8264
      @originalme8264 7 лет назад

      ну я первый раз на канале, так что не очень следил за функциями)

    • @zaemiel
      @zaemiel  7 лет назад +1

      я не имел в виду канал.
      Я имел в виду данный конкретный скринкаст.

  • @brigadir5830
    @brigadir5830 5 лет назад

    Какие мудаки ставят дизлайки!!!

  • @alexanderpadalka5708
    @alexanderpadalka5708 3 года назад

  • @alexandralexandrovich733
    @alexandralexandrovich733 6 лет назад

    Помогите, пожалуйста, глупому написать регулярное выражение. Есть строка ' 9 900 911 р 123 т '. В первом случае надо извлечь 9900911, а во втором 123. Обращаю внимание, что между цифрами есть пробелы, а на выход надо без пробелов, что бы именно 9900911. Как только не пробовал, но все не то. Могу решить задачу через цикл, но это как-то не правильно.

    • @zaemiel
      @zaemiel  6 лет назад

      Если в этой строке только эти данные и других нет, то можно и без регулярного выражения это получить.
      .strip(), затем .split() каким может быть критерий деления нужно смотреть, хоть "р", но у вас в итоге будет список из 2-х элементов.

    • @alexandralexandrovich733
      @alexandralexandrovich733 6 лет назад

      Там могут встречаться два символа, либо т, либо р, но иногда другие. Я убрал сначала через цикл все лишнее, потом через split сделал список и уже пользовался. Но мне кажется, что через РВ решать правильнее.

    • @zaemiel
      @zaemiel  6 лет назад +2

      Думаю, что вот такое должно подойти:
      [\d ]+
      После \d стоит пробел
      С использованием re.findall() даст список этих чисел

    • @alexandralexandrovich733
      @alexandralexandrovich733 6 лет назад

      Тему с регулярными выражениями всегда откладывал на потом. Теперь взялся. Почему-то очень сложно дается. Вроде бы все не трудно, а идет со скрипом.

  • @Bozon_Higgsa
    @Bozon_Higgsa 2 года назад

    ...

  • @dmitry-utkin
    @dmitry-utkin 5 лет назад

    Молчанов, что-то ты какой-то немолчаливый.

    • @zaemiel
      @zaemiel  5 лет назад +1

      А вы как-то на утку не особо похожи.

    • @dmitry-utkin
      @dmitry-utkin 5 лет назад

      @@zaemiel А почему Вы обращаетесь ко Мне во множественном числе?

  • @tahk_b_kybete1068
    @tahk_b_kybete1068 6 лет назад

    НЕХРЕНА НЕ РАБОТАЕТ У МЕНЯ!!! сука разобью я этот ноутбук, что за нафиг такой ошибка на ошибке
    IndentationError: unindent does not match any outer indentation level
    что делать в чем проблемма?

    • @zaemiel
      @zaemiel  6 лет назад +2

      вы хоть один туториал по пайтону проработали?
      Исключение говорит о том, что идентация (отступы) неправильная. Это ошибка первого уровня дебилизма. Когда нужно просто проверить отступы.
      4 пробела.
      Либо табы, которые конвертируются в пробелы.
      Выделите весь код Ctrl + A
      И найдите в меню вашего редактора что-то вроде Convert to spaces

    • @tahk_b_kybete1068
      @tahk_b_kybete1068 6 лет назад

      да разобрался я с отсутпами, теперь другая проблемма, при вызове
      OSError: [WinError 6] Неверный дескриптор

    • @tahk_b_kybete1068
      @tahk_b_kybete1068 6 лет назад

      ну ведь данное видио для новичков, поэтому и вопросы первоуровневые

    • @zaemiel
      @zaemiel  6 лет назад

      Видео для новичков, которые догадались хоть один туториал по языку проработать. Для тех, кто уже хоть что-то знает.

  • @_pheax
    @_pheax 5 лет назад

    Спасибо

  • @T_i_m_T_i_m
    @T_i_m_T_i_m 3 года назад

    Спасибо