Задать вопрос
limontasher
@limontasher
Начинающий программист

Большая куча пробелов при парсинге html таблицы, как избавиться?

Сижу паршу сайт, пришел к почти итогу, и при парсинге, элементы из столбца n под тэгом td парсятся с кучей пробелов, можно ли как нибудь от них избавиться?

Код:
import requests
from bs4 import BeautifulSoup as BS

s = requests.Session()

auth_html = s.get()
auth_bs = BS(auth_html.content, "html.parser")
csrf = auth_bs.select("meta[name=csrf-token]")[0]["content"]

payload = {
    "_token": csrf,
    "email": "",
    "password": ""
}

answ = s.post("", data = payload)

for i in range(1, 37): # pagenation
    parse = s.get(f"")

    soup = BS(parse.content, "lxml")
    items = soup.find_all(class_="clickable-row")

    for i in items:
        item = i.find_all_next("td")

        if item[6].parent.find(class_="editMarketplaceCategoryBlock") == None:
                print("""ID: {}
    Каталог: {}
    Название категории: {}
    Родители категории: {}
    Связь с категорией маркетплейса: {}\n""".format(item[2].text.strip(),
                                                   item[3].text.strip(),
                                                   item[4].text.strip(),
                                                   item[5].text.replace("\n", "").replace(" ", ""),
                                                   "Не заполнено"))

        else:
            print("""ID: {}
    Каталог: {}
    Название категории: {}
    Родители категории: {}
    Связь с категорией маркетплейса: {}\n""".format(item[2].text.strip(),
                                                           item[3].text.strip(),
                                                           item[4].text.strip(),
                                                           item[5].text.replace("\n", ""),
                                                           item[6].parent.find(class_="editMarketplaceCategoryBlock").text.replace("\n", "").replace(" ", "")))

    break


Вывод примерно таков:
ID: 3
    Каталог: Самсон
    Название категории: Бумага белая марок А, В, С
    Родители категории:                     Офис                            /                                Бумага для офисной техники
  • Вопрос задан
  • 180 просмотров
Подписаться 1 Средний Комментировать
Решения вопроса 1
fox_12
@fox_12 Куратор тега Python
Расставляю биты, управляю заряженными частицами
import re
data = '''ID: 3
    Каталог: Самсон
    Название категории: Бумага белая марок А, В, С
    Родители категории:                     Офис                            /      '''

out = re.sub(' +', ' ', data)
print(out)

#ID: 3
# Каталог: Самсон
# Название категории: Бумага белая марок А, В, С
# Родители категории: Офис /
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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