
09.03.2025, 17:45
|
|
Познающий
Регистрация: 23.08.2022
Сообщений: 58
С нами:
1961408
Репутация:
23
|
|
Сообщение от ZviNK
Есть какой-то вариант получить сам ББКод ответа через get_post()
Сейчас при попытке изменить и вставить содержимое полученное от Post.bb_content - в тему вставляется сырой HTML код вместе с разметкой.
Ломаются любые стили, хайды, реплаи и т.п.
Python:
Код:
def
get_post_bbcode
(
self
,
thread_id
:
int
,
post_id
:
int
)
-
>
str
:
"""Получить BB-код из HTML-содержимого поста
Returns:
str: BB-код поста
"""
params
=
{
'_xfRequestUri'
:
f'/threads/{thread_id}/'
,
'_xfWithData'
:
1
,
'_xfToken'
:
self
.
token
,
'_xfResponseType'
:
'json'
}
response
=
self
.
session
.
get
(
f"{MAIN_URL}/posts/{post_id}/edit"
,
params
=
params
)
html_content
=
response
.
json
(
)
.
get
(
'html'
,
{
}
)
.
get
(
'content'
,
''
)
if
not
html_content
:
return
''
data
=
{
'_xfResponseType'
:
'json'
,
'_xfRequestUri'
:
f'/threads/{thread_id}/'
,
'_xfWithData'
:
1
,
'_xfToken'
:
self
.
token
,
'html'
:
html_content
}
response
=
self
.
session
.
post
(
f"{MAIN_URL}/index.php?editor/to-bb-code"
,
data
=
data
)
return
response
.
json
(
)
.
get
(
'bbCode'
,
''
)
Python:
Код:
bbcode
=
api
.
get_post_bbcode
(
9383346
,
50815999
)
print
(
bbcode
)
Но есть некоторые подводные камни:
1. Нужна покраска 3+ уровня, дабы /edit сработал
2. Возвращает HTML контент + BB код + Лишний мусор (Кнопки сохранить например)

|
|
|