Задать вопрос
@stronks
Ламер

Можно как-то сократить метод replace()?

Пишу VK бота, который парсит данные. Но из-за ограничений VK на длину строки в кнопках приходится сокращать получаемые данные методом replace .
Вот пример:
def get_content(html):
    soup = BeautifulSoup(html, 'html.parser')
    bolshaya_corobka = soup.find('div', class_='upcoming-matches')
    matches1 = []
    malencaya_corobka1 = bolshaya_corobka.find('div', class_="match-day")
    match1 = malencaya_corobka1.find_all('div', class_="upcoming-match standard-box")
    for i in match1:
        td_bo1 = i.find('td', class_="star-cell")
        if td_bo1:
            td_bo1.decompose()
        span1 = i.find('span')
        span1.decompose()
        matches1.append(i.find('table', class_="table").get_text().replace('\n\n\n', ' ').replace('\n', ' ').replace('.', ''))
    print(matches1)

Здесь представлена малая часть замен, в коде занимает 880 символов.
Видел, что можно с помощью словаря в строке заменить, но мне нужна конкретно работа со списком, есть какие-то варианты решения?
  • Вопрос задан
  • 109 просмотров
Подписаться 1 Простой 2 комментария
Ответ пользователя Drill К ответам на вопрос (3)
@Drill
from re import sub
matches1.append(sub('\n+', ' ', i.find('table', class_="table").get_text()).replace('.', ''))
Ответ написан
Комментировать