中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-06-14 20:57
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » IP地址地理位置/手机号码归属地查询(网络版)
楼 主 IP地址地理位置/手机号码归属地查询(网络版) 发表于 2007-06-05 20:46 ·  中国 甘肃 张掖 电信
金牌会员
★★★★
积分 4,103
发帖 1,744
注册 2006-01-20 13:00
UID 49241
性别 男
来自 甘肃.临泽
状态 离线
手机号码归属地查询批处理单机版

用的是ip138的数据库

需要外部命令 curl 、sed



@echo off
title IP地址地理位置^/手机号码归属地查询 by:vkill
::需要外部工具 curl & sed ,下载:http://www.vkill.net/tools.html
:start_
cls&set v=&set a=
set/p=你输入你要查询的IP地址或手机号码:<nul & set/p "v="
if not defined v goto :start_
echo 正在查询,请稍候......
echo.
echo "%v%"|find ".">nul 2>nul &&(
echo 您查询的IP:%v%
for /f "tokens=*" %%? in ('curl -s -d "ip=%v%&action=ip" http://ip138.com/ips8.asp^|sed "/本站主数据:/!d;s/<li>/\n/g;s/<*>//g;s/^*//g"') do (echo %%?)
)||(
echo 您查询的手机号码段:%v%
for /f "tokens=*" %%? in ('curl -s -d "mobile=%v%&action=mobile" http://www.ip138.com:8080/search.asp^|sed "s/&nbsp;//g"^|sed -r -n "/卡号归属地|卡类型/{n;p}"^|sed "s/<*>//g;s/^*//g"') do (
if not defined a (
echo 卡号归属地:%%?
set a=a) else (echo 卡 类 型:%%?)
)
)
echo.
set/p=任意键继续......<nul&pause>nul&goto :start_


[ Last edited by vkill on 2007-6-6 at 09:03 PM ]
本帖最近评分记录 (共 1 条) 点击查看详情
评分人分数时间
lxmxn +8 2007-08-26 19:18
2 发表于 2007-06-05 21:44 ·  中国 北京 中国中信股份有限公司
新手上路
积分 6
发帖 3
注册 2007-06-05 10:41
UID 90302
性别 男
状态 离线
刚来的新手,谢谢楼主分享。学习中~
3 发表于 2007-06-06 08:11 ·  中国 湖南 株洲 电信
初级用户
★★
积分 135
发帖 54
注册 2006-09-10 03:07
UID 62265
状态 离线
Originally posted by vkill at 2007-6-5 20:46:
用的是ip138的数据库

需要外部命令 curl 、sed



@echo off
title 手机号码归属地专业查询 by:vkill
set "mobile=13993678***"
set/p=你输入你要查询 ...


当需要外部命令时
请楼主一并提供
谢谢
992912
4 CURL详解 发表于 2007-06-06 11:27 ·  中国 辽宁 朝阳 联通
铂金会员
★★★★
痴迷DOS者
积分 5,798
发帖 1,924
注册 2003-06-20 00:00
UID 5583
性别 男
来自 金獅電腦軟體工作室
状态 离线
熟能生巧,巧能生精,一艺不精,终生无成,精亦求精,始有所成,臻于完美,永无止境!
金狮電腦軟體工作室愿竭诚为您服务!
QQ群:8393170(定期清理不发言者)
个人网站:http://www.520269.cn
电子邮件:doujiehui@vip.qq.com
微信公众号: doujiehui
5 CURL下载 发表于 2007-06-06 11:28 ·  中国 辽宁 朝阳 联通
铂金会员
★★★★
痴迷DOS者
积分 5,798
发帖 1,924
注册 2003-06-20 00:00
UID 5583
性别 男
来自 金獅電腦軟體工作室
状态 离线
熟能生巧,巧能生精,一艺不精,终生无成,精亦求精,始有所成,臻于完美,永无止境!
金狮電腦軟體工作室愿竭诚为您服务!
QQ群:8393170(定期清理不发言者)
个人网站:http://www.520269.cn
电子邮件:doujiehui@vip.qq.com
微信公众号: doujiehui
6 SED下载 发表于 2007-06-06 11:30 ·  中国 辽宁 朝阳 联通
铂金会员
★★★★
痴迷DOS者
积分 5,798
发帖 1,924
注册 2003-06-20 00:00
UID 5583
性别 男
来自 金獅電腦軟體工作室
状态 离线
熟能生巧,巧能生精,一艺不精,终生无成,精亦求精,始有所成,臻于完美,永无止境!
金狮電腦軟體工作室愿竭诚为您服务!
QQ群:8393170(定期清理不发言者)
个人网站:http://www.520269.cn
电子邮件:doujiehui@vip.qq.com
微信公众号: doujiehui
7 发表于 2007-06-06 20:00 ·  中国 甘肃 张掖 电信
金牌会员
★★★★
积分 4,103
发帖 1,744
注册 2006-01-20 13:00
UID 49241
性别 男
来自 甘肃.临泽
状态 离线
Originally posted by utem999 at 2007-6-6 08:11:


当需要外部命令时
请楼主一并提供
谢谢


http://www.vkill.net/tools.html,我自己的站
8 发表于 2007-06-06 21:03 ·  中国 甘肃 张掖 电信
金牌会员
★★★★
积分 4,103
发帖 1,744
注册 2006-01-20 13:00
UID 49241
性别 男
来自 甘肃.临泽
状态 离线
顺便加个查ip地址地理位置的
9 发表于 2007-08-23 23:39 ·  中国 浙江 宁波 电信
初级用户
积分 82
发帖 30
注册 2007-07-03 13:55
UID 93029
性别 男
状态 离线
很有用
先谢了
10 发表于 2007-08-23 23:54 ·  中国 山东 聊城 东昌府区 联通
初级用户
积分 21
发帖 12
注册 2006-10-18 00:15
UID 66191
状态 离线
学习了
11 发表于 2008-08-25 19:29 ·  中国 上海 普陀区 电信
新手上路
积分 14
发帖 7
注册 2008-08-25 10:53
UID 124098
性别 男
状态 离线
如果我想批量查询并将结果保存应该怎么操作?
我的想法是将需要查询的号码保存在文本文档
依次读取该文档的每一行 然后进行查询
折腾了一下午 还是没有搞出来
请各位高人指点,谢谢!
12 Re 11楼 发表于 2008-08-25 19:43 ·  中国 重庆 九龙坡区 电信
版主
★★★★★
积分 9,023
发帖 5,017
注册 2007-05-31 19:39
UID 89899
性别 男
状态 离线
把你折腾出来的代码贴出来看看,这样别人才能为你指出问题所在:)
13 发表于 2008-08-26 02:21 ·  中国 上海 电信
高级用户
★★★
积分 916
发帖 377
注册 2004-03-08 00:00
UID 19523
性别 男
状态 离线
建议使用topfisher,一个脚本方式的网页数据采集软件,它里面就有个针对这个网站的实例。

topfisher是我用过的最最灵活的采集软件,它有自己的函数库,相对其它GUI界面软件的好处是可以深层链接跳转,其它的GUI界面的采集软件只能采集有顺序的页面。

当然有个缺点不支持ajex的网站,曾经见过有个GUI界面的软件声称支持ajex页面,可惜没注册的版本限制太多了。

不过用topfisher已经能实现我所要的结果,是个很不错的采集软件建议大家试试。
14 发表于 2008-08-26 10:39 ·  中国 上海 普陀区 电信
新手上路
积分 14
发帖 7
注册 2008-08-25 10:53
UID 124098
性别 男
状态 离线
Re 12楼

@echo off
:start_

for /f "tokens=*" %%i in (str.txt) do (
set v=%i%
echo %%i ,%v%
cls &set a=
echo %v% >>查询结果.txt
for /f "tokens=*" %%? in ('curl -s -d "mobile=%v%&action=mobile" http://www.ip138.com:8080/search.asp^|sed "s/&nbsp;//g"^|sed -r -n "/卡号归属地|卡类型/{n;p}"^|sed "s/<*>//g;s/^*//g"') do (
if not defined a (
echo 卡号归属地:%%?
echo %%? >>查询结果.txt
set a=a) else (echo 卡 类 型:%%?
echo %%? >>查询结果.txt)
)
)
pause
---------------------------------
以上是我按照个人想法写的,
str.txt的内容为以下格式:
13012345678
13112345678
13212345678
......

我发现echo %%i ,%v% 打印出来v是空白的,
echo %v% >>查询结果.txt 这一步执行的结果是“ECHO 处于关闭状态。”

新手入门,望各位高人指教
多谢!

[ Last edited by bray on 2008-8-26 at 10:43 AM ]
15 en 发表于 2008-08-26 11:24 ·  中国 广东 深圳 联通
新手上路
积分 2
发帖 3
注册 2007-10-20 10:11
UID 100230
性别 男
状态 离线
hao de
论坛跳转: