Я работаю над сценарием, который будет очищать веб-страницу с помощью Beautiful Soup. На странице есть несколько элементов, которые я хочу проанализировать для получения различной информации. Для каждого div я создам словарь. Словарь содержит пары ключ-значение для различных вещей, которые я хочу осуществить на странице. Затем я помещаю каждый словарь в список.
Как часть моего скрипта, я хочу назначить инкрементный целочисленный идентификатор (0, 1, 2) в качестве пары ключ-значение в каждом div. Все в моем скрипте работает, кроме кода для предоставления этого идентификатора. Фиктивные данные, с которыми я работаю, имеют 12 дел. Скрипт выдает 12 словарей, но для каждого словаря id = 11.
Ниже приведен код, с которым я работаю. Я закомментировал большую часть одной из функций, потому что она не имеет отношения к этой конкретной проблеме. Я подозреваю, что проблема где-то в моей функции "count_headers", но я думаю, что я использую перечисление правильно.
def extract_metadata(divs):
header_dict_list = []
for div in divs:
header_dict = {}
header_index = enumerate(divs,0)
def count_headers(div):
for num, div in header_index:
header_id = num
header_dict['id'] = header_id
def extract_header_stuff(div):
# Bunch of stuff happens here to pull out different pieces of information and populate the header_dict for each div.
extract_header_stuff(div)
count_headers(div)
header_dict_list.append(header_dict)
print (header_dict_list)