手机归属地

本文介绍了一种使用Shell脚本批量处理网页中的手机号码前缀的方法。通过wget抓取指定网站的数据,然后利用sed、awk等工具提取并整理手机号前缀,并将其按省份和城市分类保存。此外还介绍了如何对提取的数据进行进一步处理,如合并多个文件和按特定字段排序。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

数据抓取:wget -d 2 -c  -k -r -np 'http://mobile.tool.la/sheng/'

提取某html中的所有手机号码前缀,并按照省市存储到文本文件中

for file in `find sheng -mindepth 3 -name 'index.html'`
do
province=`echo $file | awk -F '/' '{print $2}'`
city=`echo $file | awk -F '/' '{print $3}'`
#way=sheng/$province/$city/$city.txt
#sed 's/<[^<>]*>/\n/g' $file | grep -w '[1-9][0-9]\{6\}' > $way
for num in `sed 's/<[^<>]*>/\n/g' $file | grep -w '[1-9][0-9]\{6\}'`
do
echo $num $province $city >> phonefrom.txt
done
done

取出号码前三位,并按第2个域从大到小排序:

awk '{print substr($0,1,3)}' phoneform.txt | sort -n | uniq -c | sort -rn -k2

(省名中音对应)按照"/><四种方式分割域,取出5,8域:

cat index.html | grep '<dt>' | awk -F'["/><]' '{print $5,$8}'

(市名中音对应)按照"/><四种方式分割域,取出5,6,9域:

cat index.html | grep '<dd>' | awk -F'["/><]' '{print $5,$6,$9}'

多文件合并ARGIND:

awk 'ARGIND==1{a[$1]=$2}ARGIND==2{b[$1]=$2}ARGIND==3{print $0,a[$2],b[$3]}' province2chinese.txt city2chinese.txt phonefrom.txt

转载于:https://www.cnblogs.com/markliu/p/3301909.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值