Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Ломается верстка параграфов при определённых поисковых запросах #25

Closed
audetv opened this issue Aug 1, 2023 · 2 comments · Fixed by #34
Assignees

Comments

@audetv
Copy link
Contributor

audetv commented Aug 1, 2023

Если поискать 777, то на первой странице выдачи найдётся параграф по-видимому содержащий какие-то табличные теги, поскольку с этого момента все параграфы далее выглядят как узкие столбцы:

image

При этом страницы контекста для этих параграфов никаких проблем не показывают, текст нормально сформирован. Не понятно, откуда набегает ошибка, но попадается она не в первый раз.

Originally posted by @iprst in terratensor/book-parser#39 (comment)

@audetv audetv self-assigned this Aug 1, 2023
@audetv
Copy link
Contributor Author

audetv commented Aug 1, 2023

На данный момент точно установлено, что ломается структура html, текст параграфа может содержать в себе теги <div>, которые ломают структуру контейнера, эти теги скорее всего не имеют открывающего или закрывающего тега. Это приводит к тому, что следующая цепочка параграфов, результатов поиска оказывается внутри текста параграфа.

Какие теги, где ломаю и как с этим бороться надо ещё установить.

Details

2023-08-01_11-01-05

@iprst
Copy link

iprst commented Aug 1, 2023

текст параграфа может содержать в себе теги <div>, которые ломают структуру контейнера, эти теги скорее всего не имеют открывающего или закрывающего тега

Пока конструкцию w:div удалось найти только во вспомогательных файлах внутри docx архивов. Это файлы webSettings.xml и их на весь набор всего 635 штук.

В большинстве случаев они имеют подобную этой структуру:

<?xml version="1.0" encoding="utf-8"?>
<w:webSettings xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main">
<w:divs><w:div w:id="0"><w:bodyDiv w:val="1" /><w:marLeft w:val="245" />
<w:marRight w:val="245" /><w:marTop w:val="2" /><w:marBottom w:val="245" />
</w:div></w:divs></w:webSettings>

Но иногда попадается вот такой винегрет:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<w:webSettings xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main" xmlns:w14="http://schemas.microsoft.com/office/word/2010/wordml" xmlns:w15="http://schemas.microsoft.com/office/word/2012/wordml" xmlns:w16cex="http://schemas.microsoft.com/office/word/2018/wordml/cex" xmlns:w16cid="http://schemas.microsoft.com/office/word/2016/wordml/cid" xmlns:w16="http://schemas.microsoft.com/office/word/2018/wordml" xmlns:w16sdtdh="http://schemas.microsoft.com/office/word/2020/wordml/sdtdatahash" xmlns:w16se="http://schemas.microsoft.com/office/word/2015/wordml/symex" mc:Ignorable="w14 w15 w16se w16cid w16 w16cex w16sdtdh"><w:divs><w:div w:id="1716926812"><w:bodyDiv w:val="1"/><w:marLeft w:val="10"/><w:marRight w:val="5"/><w:marTop w:val="5"/><w:marBottom w:val="5"/><w:divBdr><w:top w:val="none" w:sz="0" w:space="0" w:color="auto"/><w:left w:val="none" w:sz="0" w:space="0" w:color="auto"/><w:bottom w:val="none" w:sz="0" w:space="0" w:color="auto"/><w:right w:val="none" w:sz="0" w:space="0" w:color="auto"/></w:divBdr><w:divsChild><w:div w:id="153961989"><w:marLeft w:val="0"/><w:marRight w:val="0"/><w:marTop w:val="0"/><w:marBottom w:val="0"/><w:divBdr><w:top w:val="none" w:sz="0" w:space="0" w:color="auto"/><w:left w:val="none" w:sz="0" w:space="0" w:color="auto"/><w:bottom w:val="none" w:sz="0" w:space="0" w:color="auto"/><w:right w:val="none" w:sz="0" w:space="0" w:color="auto"/></w:divBdr></w:div><w:div w:id="167141208"><w:marLeft w:val="0"/><w:marRight w:val="0"/><w:marTop w:val="0"/><w:marBottom w:val="0"/><w:divBdr><w:top w:val="none" w:sz="0" w:space="0" w:color="auto"/><w:left w:val="none" w:sz="0" w:space="0" w:color="auto"/><w:bottom w:val="none" w:sz="0" w:space="0" w:color="auto"/><w:right w:val="none" w:sz="0" w:space="0" w:color="auto"/></w:divBdr></w:div><w:div w:id="261961762"><w:marLeft w:val="0"/><w:marRight w:val="0"/><w:marTop w:val="0"/><w:marBottom w:val="0"/><w:divBdr><w:top w:val="none" w:sz="0" w:space="0" w:color="auto"/><w:left w:val="none" w:sz="0" w:space="0" w:color="auto"/><w:bottom w:val="none" w:sz="0" w:space="0" w:color="auto"/><w:right w:val="none" w:sz="0" w:space="0" w:color="auto"/></w:divBdr></w:div><w:div w:id="626009334"><w:marLeft w:val="0"/><w:marRight w:val="0"/><w:marTop w:val="300"/><w:marBottom w:val="0"/><w:divBdr><w:top w:val="none" w:sz="0" w:space="0" w:color="auto"/><w:left w:val="none" w:sz="0" w:space="0" w:color="auto"/><w:bottom w:val="none" w:sz="0" w:space="0" w:color="auto"/><w:right w:val="none" w:sz="0" w:space="0" w:color="auto"/></w:divBdr></w:div><w:div w:id="1198398496"><w:marLeft w:val="0"/><w:marRight w:val="0"/><w:marTop w:val="0"/><w:marBottom w:val="0"/><w:divBdr><w:top w:val="none" w:sz="0" w:space="0" w:color="auto"/><w:left w:val="none" w:sz="0" w:space="0" w:color="auto"/><w:bottom w:val="none" w:sz="0" w:space="0" w:color="auto"/><w:right w:val="none" w:sz="0" w:space="0" w:color="auto"/></w:divBdr></w:div><w:div w:id="1351757182"><w:marLeft w:val="0"/><w:marRight w:val="0"/><w:marTop w:val="0"/><w:marBottom w:val="158"/><w:divBdr><w:top w:val="none" w:sz="0" w:space="0" w:color="auto"/><w:left w:val="none" w:sz="0" w:space="0" w:color="auto"/><w:bottom w:val="none" w:sz="0" w:space="0" w:color="auto"/><w:right w:val="none" w:sz="0" w:space="0" w:color="auto"/></w:divBdr></w:div><w:div w:id="1405950684"><w:marLeft w:val="0"/><w:marRight w:val="0"/><w:marTop w:val="0"/><w:marBottom w:val="0"/><w:divBdr><w:top w:val="none" w:sz="0" w:space="0" w:color="auto"/><w:left w:val="none" w:sz="0" w:space="0" w:color="auto"/><w:bottom w:val="none" w:sz="0" w:space="0" w:color="auto"/><w:right w:val="none" w:sz="0" w:space="0" w:color="auto"/></w:divBdr></w:div><w:div w:id="1892113150"><w:marLeft w:val="0"/><w:marRight w:val="0"/><w:marTop w:val="0"/><w:marBottom w:val="0"/><w:divBdr><w:top w:val="none" w:sz="0" w:space="0" w:color="auto"/><w:left w:val="none" w:sz="0" w:space="0" w:color="auto"/><w:bottom w:val="none" w:sz="0" w:space="0" w:color="auto"/><w:right w:val="none" w:sz="0" w:space="0" w:color="auto"/></w:divBdr></w:div><w:div w:id="2109694132"><w:marLeft w:val="0"/><w:marRight w:val="0"/><w:marTop w:val="0"/><w:marBottom w:val="0"/><w:divBdr><w:top w:val="none" w:sz="0" w:space="0" w:color="auto"/><w:left w:val="none" w:sz="0" w:space="0" w:color="auto"/><w:bottom w:val="none" w:sz="0" w:space="0" w:color="auto"/><w:right w:val="none" w:sz="0" w:space="0" w:color="auto"/></w:divBdr></w:div><w:div w:id="2143383467"><w:marLeft w:val="0"/><w:marRight w:val="0"/><w:marTop w:val="32"/><w:marBottom w:val="32"/><w:divBdr><w:top w:val="none" w:sz="0" w:space="0" w:color="auto"/><w:left w:val="none" w:sz="0" w:space="0" w:color="auto"/><w:bottom w:val="none" w:sz="0" w:space="0" w:color="auto"/><w:right w:val="none" w:sz="0" w:space="0" w:color="auto"/></w:divBdr></w:div></w:divsChild></w:div></w:divs><w:optimizeForBrowser/></w:webSettings>

Предположу, что проблемы могут возникать при наличии конструкции w:divsChild в схеме вёрстки. Проверить не могу, но вот два файла с результатами поиска w:div и w:divsChild

w-div-searchresults.txt
w-divsChild_searchresults.txt

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
2 participants