Size: a a a

Python для анализа данных

2019 October 13

IB

Ivan Bartenyov in Python для анализа данных
Получилось. Спасибо 👍
источник
2019 October 17

А

Алексей in Python для анализа данных
Подскажите как лучше реализовать механизм парсинга через геокодер яндекса.

Что нужно сделать: нужно из адреса вытянуть улицу и где-то достать район. Всего 9000 уникальных адресов.

Идея реализации:
Скрипт через геокодер яндекса вытягивает район и улице из адреса. Составить базу в словаре или в json.

Проблемы:
1) Геокодер рандомно отваливается.
2) Ограничение в 25000 запросов в сутки (в скрипте на каждый адрес идет 2 запроса). Из-за этого хочется сохранять данные по частям.

Что сейчас есть:
1) Скрипт через геокодер яндекса вытягивает район и улице из адреса.
2) Лист из 9000 адресов разбивается по установленному числу частей. Опытным путем выяснилось, что 100 адресов в одной части слишком много. Но это и не важно.
3) Каждая часть формирует словарь, который сохраняется на компе в формате json.

И вот тут возникают вопросы:
1) правильно ли сохранять в json или может как-то еще?
2) а как соединить все эти json’ы (их будет штук 300) или что-то другое?
источник

МЧ

Маша Чакчурина... in Python для анализа данных
Алексей
Подскажите как лучше реализовать механизм парсинга через геокодер яндекса.

Что нужно сделать: нужно из адреса вытянуть улицу и где-то достать район. Всего 9000 уникальных адресов.

Идея реализации:
Скрипт через геокодер яндекса вытягивает район и улице из адреса. Составить базу в словаре или в json.

Проблемы:
1) Геокодер рандомно отваливается.
2) Ограничение в 25000 запросов в сутки (в скрипте на каждый адрес идет 2 запроса). Из-за этого хочется сохранять данные по частям.

Что сейчас есть:
1) Скрипт через геокодер яндекса вытягивает район и улице из адреса.
2) Лист из 9000 адресов разбивается по установленному числу частей. Опытным путем выяснилось, что 100 адресов в одной части слишком много. Но это и не важно.
3) Каждая часть формирует словарь, который сохраняется на компе в формате json.

И вот тут возникают вопросы:
1) правильно ли сохранять в json или может как-то еще?
2) а как соединить все эти json’ы (их будет штук 300) или что-то другое?
> Ограничение в 25000 запросов в сутки
сразу: пробовал через прокси?
источник

А

Алексей in Python для анализа данных
там по ключу через api
источник

P

Peter in Python для анализа данных
Алексей
Подскажите как лучше реализовать механизм парсинга через геокодер яндекса.

Что нужно сделать: нужно из адреса вытянуть улицу и где-то достать район. Всего 9000 уникальных адресов.

Идея реализации:
Скрипт через геокодер яндекса вытягивает район и улице из адреса. Составить базу в словаре или в json.

Проблемы:
1) Геокодер рандомно отваливается.
2) Ограничение в 25000 запросов в сутки (в скрипте на каждый адрес идет 2 запроса). Из-за этого хочется сохранять данные по частям.

Что сейчас есть:
1) Скрипт через геокодер яндекса вытягивает район и улице из адреса.
2) Лист из 9000 адресов разбивается по установленному числу частей. Опытным путем выяснилось, что 100 адресов в одной части слишком много. Но это и не важно.
3) Каждая часть формирует словарь, который сохраняется на компе в формате json.

И вот тут возникают вопросы:
1) правильно ли сохранять в json или может как-то еще?
2) а как соединить все эти json’ы (их будет штук 300) или что-то другое?
Привет однокурсникам практикума) Чтобы не отваливаться используй try-except, у меня получилось 6000 запросов, каждый запрос из двух итераций
источник

D

Demi in Python для анализа данных
отдельно взятый адрес - отдельный запрос яндекс-api(5-10 разных регистраци/ключей), с таймаутом >= 2 секунды , плюс рандомно через прокси, преодолееш порог запросов, ответ уже пишеш куда тебе надо
источник

А

Алексей in Python для анализа данных
Peter
Привет однокурсникам практикума) Чтобы не отваливаться используй try-except, у меня получилось 6000 запросов, каждый запрос из двух итераций
ну я хотел реализовать проверку ответа, но пока я не в настолько отчаянном положении) ну и сделал разбивку по частям специально для этого
источник

АМ

Алексей Макаров... in Python для анализа данных
Peter
Привет однокурсникам практикума) Чтобы не отваливаться используй try-except, у меня получилось 6000 запросов, каждый запрос из двух итераций
Только лучше сначала убедиться какой Exception вываливается и завязать Except на конкретную ошибку. Потому что просто try-except - плохая практика
источник

А

Алексей in Python для анализа данных
Demi
отдельно взятый адрес - отдельный запрос яндекс-api(5-10 разных регистраци/ключей), с таймаутом >= 2 секунды , плюс рандомно через прокси, преодолееш порог запросов, ответ уже пишеш куда тебе надо
пока проблема в количестве запросов не стоит, я укладываюсь в лимит, вопрос именно с максимально удобным вариантом сохранения этого добра
источник

P

Peter in Python для анализа данных
Там все равно понадобиться try except, если ты будешь итерироваться. Exception там понятный вполне, для каких-то адресов геокодер не понимает формат и не может вернуть район, что-то вообще находится в Новой Москве
источник

А

Алексей in Python для анализа данных
Peter
Там все равно понадобиться try except, если ты будешь итерироваться. Exception там понятный вполне, для каких-то адресов геокодер не понимает формат и не может вернуть район, что-то вообще находится в Новой Москве
ну в этой части я реализовал проверку, отдает в улице/районе ошибку — присваивается дефолтное значение
источник

АМ

Алексей Макаров... in Python для анализа данных
Алексей
пока проблема в количестве запросов не стоит, я укладываюсь в лимит, вопрос именно с максимально удобным вариантом сохранения этого добра
Я бы сделал так: сформировал словарь с запросами/адресами; на каждый запрос (каждый адрес) получал бы хэш, который будет именем json-файла. Таким образом, можно будет восстановить какой файл относится к какому запросу. Затем нужно два скрипта. Первый скрипт просто делает реквесты и сохраняет полученные данные в json. А второй уже по исходному словарю начинает проходить по файлам и парсит JSON, с выдергиванием нужных данных и сохранением всего это в виде CSV. Второй же скрипт также пишет в отдельный файлик названия тех json, в которых по какой-то причине не удалось распарсить нужные данные.
источник

А

Алексей in Python для анализа данных
хм, кажется легче все писать все это в redis и забыть про json'ы)
источник

D

Demi in Python для анализа данных
в redis - эффективнее
источник

АМ

Алексей Макаров... in Python для анализа данных
Что-то все носятся с этим редисом, а про монгу позабыли)
источник

D

Demi in Python для анализа данных
redis - как кэш проще работает
источник

D

Demi in Python для анализа данных
в монгу можно уже и модельки писать ) типа: {адрес: {long : lat}}
источник

А

Алексей in Python для анализа данных
Demi
в монгу можно уже и модельки писать ) типа: {адрес: {long : lat}}
в редис я также запишу, по адресу будет возвращать словарь с районом и улицей
источник

D

Demi in Python для анализа данных
все верно )
источник

D

Demi in Python для анализа данных
и то и то хорошо, просто редис - как кэш я чаще использую, а монгу как бд , вот и все )
источник