Как работает 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, он оказывается пустой. Что для мне крайне не понятно. Буду рад любой помощи