shell批量查询IP地址归属地

  • A+
所属分类:shell学习笔记
本文信息本文由方法SEO顾问发表于2014-08-1800:12:29,共 674 字,转载请注明:shell批量查询IP地址归属地_【方法SEO顾问】

最近在搞代理IP(见上一篇“shell小技巧:用curl批量验证代理IP是否可用”)的时候遇到一个小问题,我需要知道收集到的几百个可用的代理IP地址归属地是哪儿的,然后根据我的需求选择该用哪个IP地址。比较的笨的办法是,把IP地址扔到百度里边,查一个记录一个,如果少量IP的话还可以这么做,但是现在手中有好几百个啊,一个一个查的话,得查好几天呐!于是我在想能不能用程序来批量查,刚好最近在学习shell下一个功能强大的命令curl,想试一下能不能用curl解决,结果很顺利的就解决了!本来想用curl去解析IP地址查询结果页面,再用零宽断言来取出我所需要的数据,结果curl出来的数据已经是很干净的了,直接输出就能用了。

代码如下:

cat ip.txt|sort|uniq|while read line;do curl http://www.ip.cn/index.php?ip=$line;done

解释一下代码意思:用cat命令去读取ip.txt文件,经过sort排序和uniq去重后,结果用while read line来逐个读出,然后把每一条读出的结果传到www.ip.cn/index.php?ip=这个查询地址中去,再通过curl命令解析当前页面的html代码,取出我们所需要的内容就行了。

过程如下图所示:

shell批量查询IP地址归属地

如果刚好你也有这个需求,不妨试试上面提到的方法

当然,如果你不想安装cygwin,这里提供两个在线工具,同样可以快速批量查询IP地址所在地

1、http://hd2001562.ourhost.cn

2、http://ip.soshoulu.com

  • 版权声明:除非注明,本博客均为北京SEO方法的原创文章,转载或引用请以超链接形式标明本文地址,否则会在SEO圈内公开此种不尊重版权的行为,谢谢合作!本文地址:https://seofangfa.com/shell/ip-location.html
  • 转载请注明:shell批量查询IP地址归属地_ 【方法SEO顾问】

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

目前评论:2   其中:访客  0   博主  0

    • avatar 屠龙

      这方法好呀。

        • avatar 方法

          @屠龙 呵呵,瞎折腾,如果数据量不是很大,直接用文章末尾提到两个在线工具就行了,速度也比较快。shell这种我测试了400多条数据,用时56秒。