Уведомления

Группа в Telegram: @pythonsu

#1 Сен. 14, 2019 19:39:54

Areostar
Зарегистрирован: 2018-06-27
Сообщения: 162
Репутация: +  0  -
Профиль   Отправить e-mail  

Geoip

Как я могу на Python 3 по ip пределить место положение?

По пытался так:

 import pygeoip
gi = pygeoip.GeoIP('GeoLiteCity.dat')
print(gi.region_by_addr('14.139.61.12'))

но ароучил ответ
FileNotFoundError: No such file or directory: ‘GeoLiteCity.dat’

А как надо? может какой другой модуль подключить?

Офлайн

#2 Сен. 14, 2019 20:18:54

AD0DE412
Зарегистрирован: 2019-05-12
Сообщения: 1130
Репутация: +  44  -
Профиль   Отправить e-mail  

Geoip

https://pygeoip.readthedocs.io/en/v0.3.2/api-reference.html
pygeoip.GeoIP(filename, flags=0, cache=True)

 class pygeoip.GeoIP(filename, flags=0, cache=True)
    __init__(filename, flags=0, cache=True)
        '''Create and return an GeoIP instance.
        Parameters:	
            filename – File path to a GeoIP database
                            путь к файлу базы данных GeoIP
            flags – Flags that affect how the database is processed. 
                      Currently supported flags are STANDARD (default), 
                      MEMORY_CACHE (preload the whole file into memory) 
                      and MMAP_CACHE (access the file via mmap)
            cache – Used in tests to skip instance caching'''

https://pygeoip.readthedocs.io/en/v0.3.2/supported-databases.html
https://dev.maxmind.com/geoip/geoip2/geolite2/



1. пжлст, форматируйте код, это в панели создания сообщений, выделите код и нажмите что то вроде
2. чтобы вставить изображение залейте его куда нибудь (например), нажмите и вставьте ссылку на его url

есчщо

Отредактировано AD0DE412 (Сен. 14, 2019 20:24:51)

Офлайн

#3 Сен. 14, 2019 20:37:26

Areostar
Зарегистрирован: 2018-06-27
Сообщения: 162
Репутация: +  0  -
Профиль   Отправить e-mail  

Geoip

Про базу данных GeoLite2 уже прочиталю сейчас скачаю.


Как мне использовать?
На локалке(PyCharm)
и на сервере(Centos 7)

заранее спасибо!

Офлайн

#4 Сен. 14, 2019 21:21:13

AD0DE412
Зарегистрирован: 2019-05-12
Сообщения: 1130
Репутация: +  44  -
Профиль   Отправить e-mail  

Geoip

я не знаю, я новичек. просто это было очевидно (я могу ошибаться)
зы там же дока есть с че по чем



1. пжлст, форматируйте код, это в панели создания сообщений, выделите код и нажмите что то вроде
2. чтобы вставить изображение залейте его куда нибудь (например), нажмите и вставьте ссылку на его url

есчщо

Отредактировано AD0DE412 (Сен. 14, 2019 21:31:44)

Офлайн

#5 Сен. 15, 2019 00:21:04

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9716
Репутация: +  842  -
Профиль   Отправить e-mail  

Geoip

Areostar
А как надо? может какой другой модуль подключить?
Выполни
  
import os
print(os.getcwd())
и ты поймёшь, что ты вообще не там находишься, где этот файл лежит.



Офлайн

#6 Сен. 16, 2019 21:11:15

Areostar
Зарегистрирован: 2018-06-27
Сообщения: 162
Репутация: +  0  -
Профиль   Отправить e-mail  

Geoip

py.user.next

узнать свое место положение я могу.

Но только по ссылкам дают скачивать только csv фаилы а в примере .dat?

И сами файлы я смотрел чтото не совсем то. Мне кажется!

Офлайн

#7 Сен. 17, 2019 01:40:16

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9716
Репутация: +  842  -
Профиль   Отправить e-mail  

Geoip

Areostar
узнать свое место положение я могу.
Вот там ты и пытаешься найти файл, которого там нет.

Areostar
FileNotFoundError: No such file or directory: 'GeoLiteCity.dat'
Это не проблема pygeoip. Ты просто неправильно указал путь к файлу. Указывай полный путь к файлу с данными, либо положи файл с данными туда, откуда скрипт запускаешь. Как узнать, откуда ты запускаешь скрипт, я тебе показал сообщением выше. Если вывод скрипта не можешь читать, то запиши вывод в файл /tmp/file.txt и прочитай потом из файла /tmp/file.txt .



Отредактировано py.user.next (Сен. 17, 2019 01:42:16)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version