@pinguine

Есть ли какая-нибудь возможность проверить существование города програмно?

Здравствуйте,
Пишу в вк бота для игры в города и решил реализовать функцию автоматического добавления новых городов по запросу пользователя. На данный момент я используя модуль wikipedia, ищу слов в последней и если в шапке статьи встречается слово "город" и не встречаются некоторые другие ключевые слова добавляю этот город. Но мусор все-равно получается добавить. Например добавили "горгород". Такой вопрос – есть ли лучший способ проверять, что введенное слово это город?
def add_new_city(city):
    try:
        inf = wikipedia.page(wikipedia.search(city + " (город)")[0])
        return "город" in inf.summary.lower() and "города" not in inf.summary.lower() \
               and "штат" not in inf.summary.lower() \
               and "тц" not in inf.summary.lower() \
               and "тк" not in inf.summary.lower() \
               and "трк" not in inf.summary.lower() \
               and "трц" not in inf.summary.lower()
    except:
        pass
  • Вопрос задан
  • 613 просмотров
Решения вопроса 2
Ahen
@Ahen
Универсальный дилетант
Если уж для вк делаете, то почему бы не https://vk.com/dev/database.getCities с параметром q?
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@ralaton121
В Википедии далеко не все перечислено.
Взять базу городов.

Например, для РФ - это бесплатная база ФИАС или КЛАДР
Скачивается с сайта налоговой.

Или использовать OpenStreetMaps, Google Maps, Yandex Maps
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы