最近比较伤脑,一大波新东西需要学习!目送着一批批脑细胞离我而去,心理不是个滋味。没办法,少壮不努力,老大徒伤悲吶!!!
朱老湿这个几天给了个任务,其中之一是要获取一份excel表格中ip属于某个省份的数据。我一看,得了,近30W的数据。好庞大的数据,这是大数据吧,亲!对我来说,超过500行的数据就是很多的了,好吧!难得有这个机会,尝尝大数据的味道(/(ㄒoㄒ)/~~)
既然要获取省份那么就必须获取IP对应的省份,30w的数据,╮(╯▽╰)╭。 首先想到的是批处理,然后百度一下批量获取IP地址归属地
,然后,然后就是一大波广告(~ o ~)~zZ! 得出以下几点信息:
1 2 3 |
|
但是以上都不是很理想。相比于IP库,在线解析可以精确到区、市,但是有查询限制。一次性只能查询200个IP,这对于30个IP地址来说就是杯水车薪~╥﹏╥…;批量解析软件未激活一次性也只能查询200个IP,更多需求票子!我是个从尚free
、open
和share
的人,是不屑于去用它的。
还有一个更迫切的要求就是能读取文件和生成文件。你想啊30W个IP地址,不能手动COPY吧O(∩_∩)O~ 于是,又是一个漫长的摸索过程:
- java—-pass,过于笨重
- pyhon —– pass 不会,成本太高
- 花钱购买服务 —— pass, no moeny at home 而且 对自己没有提高
最终,目标锁定在迷人的shell
脚本上。感谢那些热于分享的大牛们,是你们让这个世界充满阳光,充满希望!!
以下是一段来自网络的shelL脚本,经过一小点的修改,终称为最适合自己的工具:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
|
使用很简单,直接将以上代码保存为.sh
结尾文件,如ip.sh
。在同级目录下新建一个文件并命名为ip.txt
用来存放你需要批量查询的ip地址。 当运行无措后会将结果展示在shell控制台,并写入ip-result.txt
文件。
看起来似乎就该结尾了,非也!!! 因为这代码是在linux
下跑的,在window
下不执行!那就以为这要在linux
下跑程序了? 习惯开着window
的叉子是不是要安装个VM
或者virtualbox
,然后在虚拟机里边安装linux
呢???? 太麻烦了了,有没有好点的招?
再一次感谢,那帮为码农界无私奉献过的人!是你们让这个世界变得有希望。 没错,在window
下照样能运行linux
下的脚本。只要你安装了她— msygit,一切都不是事儿,不仅能运行脚本,还用vi
等linux
命令。我是git的热粉,所以早早就装好了O(∩_∩)O~~ 试试吧!
启动git bash
run code:
ip-result:
这段代码也存在一些不足,很受网速影响。当然像我那破电脑,开几个shell一起跑,机子立马发出呜呜的鬼哭狼嚎之声,CPU
徘徊在99%
。机不给力呀~
最后还是用公司电脑加同事电脑加一台服务器跑了一整天才把数据抓下来!(/(ㄒoㄒ)/~~)
数据无价,此言得之!