Задать вопрос
@Foxford12

Почему вылазиет ошибка?

Почему при выводе выводиться: Главная страница блога, а когда я добавил метод кодировки utf-8 стала появляться ошибка что я не так сделал?

main.py

from bs4 import BeautifulSoup

with open("blank/index.html") as file:
    src = file.read()

soup = BeautifulSoup(src, "utf-8", "lxml")

title = soup.title
print(title)


index.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Главная страница блога</title>
    <link rel="stylesheet" href="style.css">
</head>
<body>
<div class="container">
    <h1>Страница пользователя Mr. Anderson</h1>
    <div class="user__data">
        <div class="user__avatar">
            <img src="user_avatar.jpg" alt="">
        </div>
        <div class="user__info">
            <div class="user__name">
                <span>Mr Anderson</span>
            </div>
            <div class="user__birth__date">
                <span>Дата рождения:</span>
                <span>01.01.1970</span>
            </div>
            <div class="user__city">
                <span class="city__label">Город:</span>
                <span>Los Angeles</span>
            </div>
            <div class="social__networks">
                <p>Ссылки на соц.сети:</p>
                <ul>
                    <li>
                        <a href="http://instagram.com/username">Instagram</a>
                    </li>
                    <li>
                        <a href="http://twitter.com/username">Twitter</a>
                    </li>
                    <li>
                        <a href="http://youtube.com/username">Youtube</a>
                    </li>
                </ul>
            </div>
        </div>
    </div>
    <div class="user__blog__wall">
        <div class="blog__title">Блог</div>
        <div class="user__post">
            <div class="user__post__info">
                <div class="post__title">
                    <h3>Российская нейросеть сортирует пластик с точностью 95%</h3>
                </div>
                <div class="post__text">
                    Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore
                    et dolore magna aliqua. Vitae justo eget magna fermentum iaculis eu. Nibh sit amet commodo nulla
                    facilisi nullam vehicula ipsum. Elit pellentesque habitant morbi tristique senectus et netus et
                    malesuada.
                </div>
            </div>
        </div>
        <div class="user__post">
            <div class="user__post__info">
                <div class="post__title">
                    <h3>Wi-Fi Hack</h3>
                </div>
                <div class="post__text">
                    Semper risus in hendrerit gravida rutrum quisque. Imperdiet sed euismod nisi porta lorem mollis
                    aliquam. Blandit massa enim nec dui nunc mattis enim. Enim neque volutpat ac tincidunt vitae semper.
                </div>
            </div>
        </div>
        <div class="user__post">
            <div class="user__post__info">
                <div class="post__title">
                    <h3>Twitter будет банить пользователей, которые желают смерти другим</h3>
                </div>
                <div class="post__text">
                    Lobortis scelerisque fermentum dui faucibus in ornare quam viverra orci. Eget lorem dolor sed
                    viverra ipsum nunc aliquet. Nunc id cursus metus aliquam eleifend mi in nulla. Aliquam id diam
                    maecenas ultricies mi eget mauris pharetra. Ut tortor pretium viverra suspendisse potenti.
                </div>
            </div>
        </div>
    </div>
</div>
</body>
</html>


Ошибка python:

Traceback (most recent call last):
  File "D:\Взлом\Парсер\1\main.py", line 6, in <module>
    soup = BeautifulSoup(src, "utf-8", "lxml")
  File "D:\.Илья\pythonProject1\Сервер\lib\site-packages\bs4\__init__.py", line 308, in __init__
    self.is_xml = builder.is_xml
AttributeError: 'str' object has no attribute 'is_xml'
  • Вопрос задан
  • 94 просмотра
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 1
Ошибка в кодировке. Вам нужно открыть файл в нужной кодировке. По умолчанию используется UTF-8, но, очевидно, здесь нужна не она.

Откройте файл и посмотрите глазками заголовки. Кодировки обычно пишут где-то в начале.

Если не можете разобраться, поищите в интернетах сервисы по словам "определить кодировку".

PS. Заголовок вопроса некорректный.
Вместо "Почему не выводиться текст?" нужно что-то типа "Почему текст печатается некорректно (кракозябрами)?"
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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