做了查詢ip所屬地的程式,將過程記錄如下:
1, 建立資料庫
得到的是乙個.dat檔案,通過iplook工具轉換成了.txt格式的,然後匯入了access中,最後匯入到ms sqlserver中.
ip資料庫有三個字段,
startip:decimal(18,0)
endip:decimal(18,0)
address:char(50)
2, 建立乙個和ip位址一一對映的數字.
例如ip為59.69.74.47,計算的演算法為59*256*256*256+69*256*256+74*256+47
具體理論的證明略去.
3, 查詢語句
select address from ipstore where startip <= ipcount and endip >= ipcount
4, 效率低的原因
沒有設定主鍵,或索引.這是提高效率的重要手段.
另外,把很大的資料表做橫向分割,也是很有效的提高效率的手段.
5, 注意的問題
ip對應的數字是很大的,int型是不夠長的.所以在程式中要用long型,在資料庫中用decimal型.
python 處理IP所屬地
先安裝這兩個 pip install python geoip geolite2 i pip install geoip2 搜一搜geolite2 country.mmdb第乙個鏈結就有 測試 import geoip2.database geolite2 city.mmdb檔案的位置 reader...
Python批量判斷IP位址所屬地區
首先安裝python擴充套件庫netaddr,然後對下面的 進行簡單修改後即可滿足某些場合的應用。from random import randrange from netaddr import iprange defiprangetest ipaddr,iprange 遍歷ip位址與地區分布對應關...
IP歸屬地查詢
urllib http api請求 re ip格式驗證 返回結果提取 tkinter 介面布局 樣式 ip定位,根據盛大ip查詢api所編寫 anthor yanzhenwei yanzhenwei1101 qq.com create version v1.0beta01 2012 03 02 la...