Как работает os.listdir(list)

Приветствую всех дорогие форумчане! Я решил спарсить некоторые вакансии с hh.ru, но проблема в том, что у меня берёт регион только 4228, и мне не понятно почему. Буду очень благодарен за помощь

import requests      # Для запросов по API
import json          # Для обработки полученных результатов
import time          # Для задержки между запросами
import os            # Для работы с файлами
import pandas as pd  # Для формирования датафрейма с результатами

def getAreas():
    req = requests.get('https://api.hh.ru/areas')    
    data = req.content.decode()
    req.close()
    jsObj = json.loads(data)
    areas = []
    for k in jsObj:
        for i in range(len(k['areas'])):
            if len(k['areas'][i]['areas']) != 0:                      # Если у зоны есть внутренние зоны
                for j in range(len(k['areas'][i]['areas'])):
                    areas.append([k['id'], 
                                  k['name'], 
                                  k['areas'][i]['areas'][j]['id'],
                                  k['areas'][i]['areas'][j]['name']])
            else:                                                                # Если у зоны нет внутренних зон
                areas.append([k['id'], 
                              k['name'], 
                              k['areas'][i]['id'], 
                              k['areas'][i]['name']])
    return areas

areas = getAreas()

dt = []
for fl in os.listdir('./areas/'):
    f = open('./areas/{}'.format(fl), encoding='utf8')
    jsonText = f.read()
    f.close()
    jsonObj = json.loads(jsonText)
    if jsonObj['found'] != 0:
        for js in jsonObj['items']:
            if js['salary'] != None:
                salary_from = js['salary']['from']
                salaty_to = js['salary']['to']
            else:
                salary_from = None
                salaty_to = None
            if js['address'] != None:
                address_raw = js['address']['raw']
            else:
                address_raw = None
            dt.append([
                {'id': js['id']},
                {'premium': js['premium']},
                {'name': js['name']},
                {'department_name': js['department']['name']},
                {'has_test': js['has_test']},
                {'response_letter_required': js['response_letter_required']},
                {'area_id': js['area']['id']},
                {'area_name': js['area']['name']},
                {'salary_from': salary_from}, 
                {'salaty_to': salaty_to},
                {'type_name': js['type']['name']},
                {'address_raw': address_raw},
                {'response_url': js['response_url']},
                {'sort_point_distance': js['sort_point_distance']},
                {'published_at': js['published_at']},
                {'created_at': js['created_at']},
                {'archived': js['archived']},
                {'apply_alternate_url': js['apply_alternate_url']},
                {'insider_interview': js['insider_interview']},
                {'url': js['url']},
                {'alternate_url': js['alternate_url']},
                {'relations': js['relations']},
                {'employer_id': js['employer']['id']},
                {'employer_name': js['employer']['name']},
                {'snippet_requirement': js['snippet']['requirement']},
                {'snippet_responsibility': js['snippet']['responsibility']},
                {'contacts': js['contacts']},
                {'schedule_name': js['schedule']['name']},
                {'working_days': js['working_days']},
                {'working_time_intervals': js['working_time_intervals']},
                {'working_time_modes': js['working_time_modes']},
                {'accept_temporary': js['accept_temporary']}
                ])

Самое интересно, что после добавление словаря в dt, он оказывается пустой. Что для мне крайне не понятно. Буду рад любой помощи


Ответы (0 шт):