主頁(yè) > 知識(shí)庫(kù) > Python使用淘寶API查詢IP歸屬地功能分享

Python使用淘寶API查詢IP歸屬地功能分享

熱門(mén)標(biāo)簽:呼叫中心市場(chǎng)需求 Linux服務(wù)器 AI電銷 百度競(jìng)價(jià)排名 地方門(mén)戶網(wǎng)站 網(wǎng)站排名優(yōu)化 鐵路電話系統(tǒng) 服務(wù)外包

網(wǎng)上有很多方法能夠過(guò)去到IP地址歸屬地的腳本,但是我發(fā)現(xiàn)淘寶IP地址庫(kù)的信息更詳細(xì)些,所以用shell寫(xiě)個(gè)腳本來(lái)處理日常工作中一些IP地址分析工作。

腳本首先是從http://ip.taobao.com/的數(shù)據(jù)接口獲取IP地址的JSON格式的數(shù)據(jù)信息,在使用一個(gè)python腳本來(lái)把Unicode字符轉(zhuǎn)換成UTF-8編碼。

Shell腳本內(nèi)容:

復(fù)制代碼 代碼如下:

#!/bin/bash

ipInfo() {
  for i in `cat list`
  do
    TransCoding="/usr/bin/python TransCoding.py"
    JsonDate="curl -s http://ip.taobao.com/service/getIpInfo.php?ip=$i"
    country=`$JsonDate | sed 's/,/\n/g' | $TransCoding | tr -d "{}\"" | awk -F ":" 'NR==2{print $3}'
    area=`$JsonDate | sed 's/,/\n/g' | $TransCoding | tr -d "{}\"" | awk -F ":" 'NR==4{print $2}'
    region=`$JsonDate | sed 's/,/\n/g' | $TransCoding | tr -d "{}\"" | awk -F ":" 'NR==6{print $2}'
    city=`$JsonDate | sed 's/,/\n/g' | $TransCoding | tr -d "{}\"" | awk -F ":" 'NR==8{print $2}'
    county=`$JsonDate | sed 's/,/\n/g' | $TransCoding | tr -d "{}\"" | awk -F ":" 'NR==10{print $2}'
    isp=`$JsonDate | sed 's/,/\n/g' | $TransCoding | tr -d "{}\"" | awk -F ":" 'NR==12{print $2}'
    printf "%-18s\t%-8s\t%-8s\t%-8s\t%-8s\t%-8s\t%-8s\n" $i $country $isp $area $region $city $county
  done
}

printf "%-18s\t%-8s\t%-8s\t%-8s\t%-8s\t%-8s\t%-8s\n" IP地址 國(guó)家 運(yùn)營(yíng)商 區(qū)域 省份 城市 縣/區(qū)
echo -e "\e[1;33m======================================================================\e[0m"
ipInfo;

Python腳本內(nèi)容:

復(fù)制代碼 代碼如下:

#!/usr/bin/env python
# -*- coding: utf-8 -*-

import re
import sys

def main():
    for line in sys.stdin:
        sys.stdout.write(re.sub(r'\\u\w{4}',
            lambda e: unichr(int(e.group(0)[2:], 16)).encode('utf-8'),
            line))

if __name__ == '__main__':
    main()

將兩個(gè)腳本放在一個(gè)目錄下,再將需要分析的IP地址一行一個(gè)寫(xiě)入在list文件中,執(zhí)行 shell腳本即可。

實(shí)例演示(分析最近暴力破解服務(wù)器密碼的IP歸屬地):

復(fù)制代碼 代碼如下:

cat /var/log/secure | awk '/Failed/ {print $(NF-3)}' | sort -u > list
[root@MyVPS4407 ip]# ./ip.sh
IP地址                  國(guó)家    運(yùn)營(yíng)商  區(qū)域    省份    城市    縣/區(qū)
======================================================================
114.112.69.50           中國(guó)    華南    廣東省
118.244.14.49           中國(guó)    華北    北京市  北京市
122.72.120.109          中國(guó)    鐵通    西北    甘肅省
1.25.202.50             中國(guó)    聯(lián)通    華北    內(nèi)蒙古自治區(qū)    包頭市
133.242.17.113          日本
134.255.243.11          德國(guó)
145.253.72.3            德國(guó)
188.116.55.211          波蘭
202.103.36.43           中國(guó)    電信    華中    湖北省  武漢市
202.97.194.167          中國(guó)    聯(lián)通    東北    黑龍江省        哈爾濱市
203.122.59.88           印度
210.44.159.49           中國(guó)    教育網(wǎng)  華東    山東省  濟(jì)南市
211.232.30.253          韓國(guó)
218.248.42.131          印度
223.5.3.200             中國(guó)    阿里巴巴        華東    浙江省  杭州市
37.55.227.103           烏克蘭
38.69.193.39            美國(guó)
50.97.246.147           美國(guó)
66.161.209.154          美國(guó)
66.248.201.2            加拿大

您可能感興趣的文章:
  • python 實(shí)現(xiàn)全球IP歸屬地查詢工具
  • Python實(shí)現(xiàn)的手機(jī)號(hào)歸屬地相關(guān)信息查詢功能示例
  • Python手機(jī)號(hào)碼歸屬地查詢代碼
  • Python批量獲取并保存手機(jī)號(hào)歸屬地和運(yùn)營(yíng)商的示例
  • python手機(jī)號(hào)前7位歸屬地爬蟲(chóng)代碼實(shí)例
  • Python抓取手機(jī)號(hào)歸屬地信息示例代碼
  • python實(shí)現(xiàn)獲取Ip歸屬地等信息
  • python 制作手機(jī)歸屬地查詢工具(附源碼)

標(biāo)簽:湖南 崇左 蘭州 仙桃 黃山 湘潭 銅川 衡水

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Python使用淘寶API查詢IP歸屬地功能分享》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266