Форум программистов, компьютерный форум, киберфорум
Python: Web
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
1 / 1 / 0
Регистрация: 04.01.2023
Сообщений: 52

Поиск в html файле

20.01.2023, 12:37. Показов 886. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день!
Прошу помочь доделать код.
Не знаю как, вот это условие вписать в код Хотите ввести максимальную глубину? Y/N:
Заранее спасибо!
Пример как должно выводится:


Пример 1:

Введите искомый ключ: head

Хотите ввести максимальную глубину? Y/N: n

Значение ключа: {'title': 'Мой сайт'}

Пример 2:

Введите искомый ключ: head

Хотите ввести максимальную глубину? Y/N: y

Введите максимальную глубину: 1

Значение ключа: None


Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
site = {
    'html': {
        'head': {
            'title': 'Мой сайт'
        },
        'body': {
            'h2': 'Здесь будет мой заголовок',
            'div': 'Тут, наверное, какой-то блок',
            'p': 'А вот здесь новый абзац'
        }
    }
}
 
def find_key(structure, my_key, depth=None):
    if depth is None or depth >= 1:
        if my_key in structure:
            return structure[my_key]
    else:
        return None
    for element in structure.values():
        if isinstance(element, dict):
            result = find_key(element, my_key, depth - 1)
            if result:
                break
    else:
        result = None
    return result
 
key = input('Введите искомый ключ: ')
depthneed = input('Хотите ввести максимальную глубину? Y/N: ')
maximum_depth = int(input('Введите максимальную глубину: '))
value_key = find_key(site, key, maximum_depth)
print(f'Значение ключа: {value_key}')
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
20.01.2023, 12:37
Ответы с готовыми решениями:

Поиск ссылок в HTML файле
Здравствуйте! Возникла такая задача: на вход поступает url, идет по нему переход, в полученной странице(в виде HTML) ищутся все...

Поиск ссылок на изображение в html файле
Всем привет! Перед мной стоит такая задача: Имеется сохраненная веб страница html, нужно найти там ссылки формата...

поиск unicode строки в html файле
Необходимо реализовать поиск введенной строки widestring (китайские иероглифы) в html файле. Подскажите пожалуйста какие - нибудь идеи

4
 Аватар для rim41
1045 / 313 / 78
Регистрация: 16.03.2020
Сообщений: 954
20.01.2023, 12:50
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
site = {
    'html': {
        'head': {
            'title': 'Мой сайт'
        },
        'body': {
            'h2': 'Здесь будет мой заголовок',
            'div': 'Тут, наверное, какой-то блок',
            'p': 'А вот здесь новый абзац'
        }
    }
}
 
def find_key(structure, my_key, depth=None):
    if depth is None or depth >= 1:
        if my_key in structure:
            return structure[my_key]
    else:
        return None
 
    for element in structure.values():
        if isinstance(element, dict):
            result = find_key(element, my_key, depth - 1)
            if result:
                break
    else:
        result = None
    return result
 
key = input('Введите искомый ключ: ')
depthneed = input('Хотите ввести максимальную глубину? Y/N: ')
 
if depthneed.lower() == 'y':
    maximum_depth = int(input('Введите максимальную глубину: '))
 
else: maximum_depth = None
 
value_key = find_key(site, key, maximum_depth)
 
print(f'Значение ключа: {value_key}')
0
1 / 1 / 0
Регистрация: 04.01.2023
Сообщений: 52
20.01.2023, 12:58  [ТС]
там если нет, то выдает ошибку:
Введите искомый ключ: head
Хотите ввести максимальную глубину? Y/N: n
Traceback (most recent call last):
File "main.py", line 37, in <module>
value_key = find_key(site, key, maximum_depth)
File "main.py", line 23, in find_key
result = find_key(element, my_key, depth - 1)
TypeError: unsupported operand type(s) for -: 'NoneType' and 'int'
0
 Аватар для rim41
1045 / 313 / 78
Регистрация: 16.03.2020
Сообщений: 954
20.01.2023, 13:03
micha1994,
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
site = {
    'html': {
        'head': {
            'title': 'Мой сайт'
        },
        'body': {
            'h2': 'Здесь будет мой заголовок',
            'div': 'Тут, наверное, какой-то блок',
            'p': 'А вот здесь новый абзац'
        }
    }
}
 
def find_key(structure, my_key, depth=None):
    if depth is None or depth >= 1:
        if my_key in structure:
            return structure[my_key]
    else:
        return None
 
    for element in structure.values():
        if isinstance(element, dict):
            result = find_key(element, my_key, depth - 1)
            if result:
                break
    else:
        result = None
    return result
 
key = input('Введите искомый ключ: ')
depthneed = input('Хотите ввести максимальную глубину? Y/N: ')
 
if depthneed.lower() == 'y':
    maximum_depth = int(input('Введите максимальную глубину: '))
    value_key = find_key(site, key, maximum_depth)
 
else:
    value_key = find_key(site, key) 
 
 
print(f'Значение ключа: {value_key}')
по идее так должно работать

Добавлено через 47 секунд
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
site = {
    'html': {
        'head': {
            'title': 'Мой сайт'
        },
        'body': {
            'h2': 'Здесь будет мой заголовок',
            'div': 'Тут, наверное, какой-то блок',
            'p': 'А вот здесь новый абзац'
        },
        'footer': {
            'h2'
        }
    }
}
 
 
def find_key(struct, key, max_depth=None, depth=1):
    result = None
    if key in struct.keys():
        return struct[key]
    for value in struct.values():
        if isinstance(value, dict):
            result = find_key(value, key)
            if result:
                return result
    return result
 
 
search_key = 'h2'
 
answer = 'n'
if answer == "y":
    search_depth = int(input('Введите глубину поиска: '))
    print(find_key(site, search_key, search_depth))
if answer == "n":
    print(find_key(site, search_key))
вот рабочий код
0
1 / 1 / 0
Регистрация: 04.01.2023
Сообщений: 52
20.01.2023, 13:09  [ТС]
Вообще перестал работать(
такое выдает:
Здесь будет мой заголовок
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
20.01.2023, 13:09
Помогаю со студенческими работами здесь

boost/regex Поиск ссылок в html-файле
Нашел вот такой код: #include &lt;iostream&gt; #include &lt;string&gt; #include &lt;boost/regex.hpp&gt; #include &lt;fstream&gt; using namespace...

Поиск и удаление атрибутов в файле html с использованием регулярных выражений
Дали вот такое задание: На вход программы подается произвольный html-файл, необходимо удалить все атрибуты у всех тегов, кроме заданных...

Поиск в текстовом файле с html-кодом или css-кодом и вывести список всех ссылок
help. Как вообще работает и как вообще мне заставить ориентировать прогу в файле именно за этими ссылками. :(

Реализовать чтение файлов, запись и дозапись в файле Поиск файлов в каталоге и поиск данных в файле
Создать файлы, которые будут содержать Линии с названием домов и их ценами. Реализовать чтение файлов, запись и дозапись в файле ...

Код на JS в HTML файле проходит, а в файле js жалуется на элемент доллара, как исправить?
Код на JS в HTML файле проходит, а в файле js жалуется на элемент доллара и из-за этого не срабатывает, как исправить?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Функция заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию. 2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru