@vlzemtsov

Как парсить кирилицу с помощью BeautifulSoup в Python3?

Добрый день.
Хочу парсить одну страницу в интернете, в которой есть таблица, заполненная кирилицей.
Примерно такой код:
<table class="table name">
    <tr>
        <th>Заголовок</th>
    </tr>
    <tr>
        <td>Тест0101</td>
        <td>Тест0102</td>
    </tr>
        <tr>
        <td>Тест0201</td>
        <td>Тест0202</td>
    </tr>
    <tr>
        <th>Заголовок 2</th>
    </tr>
    <tr>
        <td>Тест0301</td>
        <td>Тест0302</td>
    </tr>
</table>


Получается примерно такая таблица (Да, границ нет, но я думаю вы меня поняли):
5a1712d3929e4166043534.png

Хочу считывать эту таблицу и с зависимости от значений, делать что-то:

# -*- coding: utf-8 -*-
import requests
from bs4 import BeautifulSoup

html = getHtml(url)   #У меня написана функция, которая достает html-код и мне влом ее дублировать
soup = BeautifulSoup(html, "html.parser")

table = soup.find("table", {"class": "table name"})

for row in table01.find_all('tr'):
        cols = row.find_all('td')
        
        if cols != []:       #Исключаем заголовки у них нет td
            typeName = "Тест0101"
            if cols[0].text == typeName:
                print("kek")


Однако на выходе я "kek" не получаю никак. Кодировка сайта - utf-8.
Пробовал всякие .encode('utf-8') - не помогает
  • Вопрос задан
  • 1146 просмотров
Решения вопроса 1
dimonchik2013
@dimonchik2013
non progredi est regredi
кириллица отлично парсится в utf8, если сервер отдает не в ней - нужно перекодировать в нее
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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