@Sancho_Pansa

Почему в получаемый при парсинге HTML-код страницы добавляются обратные слэши?

Добрый день! Я пытаюсь написать парсер результатов поиска с сайта tgstat.com.

import requests
from bs4 import BeautifulSoup as b

r = requests.post("https://tgstat.com/ru/channels/search", headers=headers, data={"q": "IT"})

print(r.text)

soup = b(r.text, 'html-parser')

res = soup.find_all('a', _class="text-body")

print(res)


Почему-то в получаемом HTML-коде перед каждым значением атрибута добавляются обратные слэши:
<div class='\"row' mb-3="">\n        <div class='\"col-12' d-flex="" justify-content-between="">


Соответственно, это не удаётся распарсить через BeautifulSoup. Подскажите, пожалуйста, как это можно исправить?
  • Вопрос задан
  • 74 просмотра
Пригласить эксперта
Ответы на вопрос 1
@dima20155
you don't choose c++. It chooses you
Самый топорный способ:
Если bs4 не смог справиться с парсингом, то можно просто заменить слеши:
text = r.text.replace('\\"', '')
soup = b(text, 'html-parser')
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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