Скрипт обработки html на python 2
Цена договорная
•
электронные деньги
Есть html страница,
полученная из pdf, и
список глав в txt из
этого же pdf. Нужно
написать скрипт, который находит главы в html и выделяет их тегами h1 и h2. Тестовые
html и txt файлы во вложении.
Питон нужен обязательно версии 2, а не 3. Это связано с дальнейшей разработкой.
Как искать
заголовки.
В приложенных
txt файлах
содержатся
Нужно найти эти
главы в соответствующих html файлах. Для этого на соответствующей странице html файла нужно найти текст названия главы и обрамить его тегами
h1 или h2. Но тут возможны
сложности:
обязательно находить 100% глав, но чем больше глав в тестовых файлах сможет
найти скрипт тем лучше.
Как
определить какой тег ставить, h1
или h2.
1) Берем все
заголовки из txt и помечаем заголовки с повышением уровня и с дочерними
элементами. Назовем такие заголовки "ГЛАВНЫЕ" Пример
1.
- 1.1
- 1.2
- - 1.2.1
2.
- 2.1
- 2.2
- - 2.2.1
- 2.3
Тут должны
быть помечены заголовки "2." и "2.3" так как перед ними
стоит заголовок меньшего уровня.
И помечены
заголовки "1." "1.2" "2." "2.2", так
как они имеют дочерние заголовки.
2) Дальше
помечаем главы h1 и h2 в html.
1. Первый
найденный заголовок помечаем h1 и переходим к следующему.
2. В цикле
делаем проверки для очередного найденного заголовка:
- Если
заголовок помечен как ГЛАВНЫЙ и он находится на той же странице, что и
предыдущий h1, то помечаем его как h2
- Если
заголовок помечен как ГЛАВНЫЙ и на странице нет других h1, то помечаем его h1
- Если
заголовок не помечен как ГЛАВНЫЙ и до предыдущего h1 меньше 3 страниц, то
помечаем его как h2
- Если
заголовок не помечен как ГЛАВНЫЙ и до предыдущего h1 больше или равно 3 страниц,
то помечаем его как h1
полученная из pdf, и
список глав в txt из
этого же pdf. Нужно
написать скрипт, который находит главы в html и выделяет их тегами h1 и h2. Тестовые
html и txt файлы во вложении.
Питон нужен обязательно версии 2, а не 3. Это связано с дальнейшей разработкой.
Как искать
заголовки.
В приложенных
txt файлах
содержатся
- названия
глав - страница
на которой начинается глава - уровень
вложенности главы.
Нужно найти эти
главы в соответствующих html файлах. Для этого на соответствующей странице html файла нужно найти текст названия главы и обрамить его тегами
h1 или h2. Но тут возможны
сложности:
- текст
главы может встречаться несколько раз на странице (нужно постараться определить
более релевантный) - текст
главы может быть разбит html разметкой - текст
главы может содержать лишние пробелы - и другие
проблемы
обязательно находить 100% глав, но чем больше глав в тестовых файлах сможет
найти скрипт тем лучше.
Как
определить какой тег ставить, h1
или h2.
1) Берем все
заголовки из txt и помечаем заголовки с повышением уровня и с дочерними
элементами. Назовем такие заголовки "ГЛАВНЫЕ" Пример
1.
- 1.1
- 1.2
- - 1.2.1
2.
- 2.1
- 2.2
- - 2.2.1
- 2.3
Тут должны
быть помечены заголовки "2." и "2.3" так как перед ними
стоит заголовок меньшего уровня.
И помечены
заголовки "1." "1.2" "2." "2.2", так
как они имеют дочерние заголовки.
2) Дальше
помечаем главы h1 и h2 в html.
1. Первый
найденный заголовок помечаем h1 и переходим к следующему.
2. В цикле
делаем проверки для очередного найденного заголовка:
- Если
заголовок помечен как ГЛАВНЫЙ и он находится на той же странице, что и
предыдущий h1, то помечаем его как h2
- Если
заголовок помечен как ГЛАВНЫЙ и на странице нет других h1, то помечаем его h1
- Если
заголовок не помечен как ГЛАВНЫЙ и до предыдущего h1 меньше 3 страниц, то
помечаем его как h2
- Если
заголовок не помечен как ГЛАВНЫЙ и до предыдущего h1 больше или равно 3 страниц,
то помечаем его как h1
- Файлы
В заказе есть исполнитель
При переводе заказа из архивного в актуальный, текущий исполнитель будет снят с задачи.
Выберите тип сделки
С безопасной сделкой вы всегда сможете вернуть средства, если что-то пойдет не так. С простой сделкой вы самостоятельно договариваетесь с исполнителем об оплате и берете на себя решение конфликтов.