R でIPアドレスから国名など情報を取得するのに、 rgeolocate パッケージというものがあった。
https://cran.r-project.org/web/packages/rgeolocate/rgeolocate.pdf
インストール
install.packages("rgeolocate")
読み込み
library(rgeolocate)
ip_api 関数
http://ip-api.com/docs/ を利用する
> ip_api("203.142.205.135") as_code city_name country_name country_code isp latitude longitude organisation region_code region_name timezone zip_code status 1 AS24282 KAGOYA JAPAN Inc. Kyoto Japan JP Kagoya Japan Corporation 35.0214 135.7556 Kagoya Japan Corporation 26 Kyoto Asia/Tokyo 600-8106 success > ip_api("2406:8c00:0:2135:205:135::") as_code city_name country_name country_code isp latitude longitude organisation region_code region_name timezone zip_code status 1 AS24282 KAGOYA JAPAN Inc. Sugito Japan JP Kagoya Japan 36.0333 139.7333 Kagoya Japan 11 Saitama Asia/Tokyo 345-0036 success
dp_ip 関数
https://db-ip.com/api/free.php を利用する
無償APIキーでは、1,000リクエスト/日
有償APIキーを使えば、より詳細な情報が取得できる
> db_ip("203.142.205.135", "free") [[1]] address country stateprov city "203.142.205.135" "JP" "Aichi" "Ichinomiya (Kagoya)" > db_ip("2406:8c00:0:2135:205:135::", "free") [[1]] address country stateprov city "2406:8c00:0:2135:205:135::" "JP" "Tokyo" "Chiyoda"
ip2location 関数、maxmind 関数 もあるが、これらはファイルを用意しないといけない