打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
python实现手机号归属地相关信息查询

根据指定的手机号码,查询其归属地等相关信息,Python实现:

手机号文件:test.txt

[plain] view plain copy
  1. 13693252552  
  2. 13296629989  
  3. 13640810839  
  4. 15755106631  
  5. 15119622732  
  6. 13904446048  
  7. 18874791953  
  8. 13695658500  
  9. 13695658547  
  10. 15950179080  
  11. 15573462779  
  12. 15217624651  
  13. 15018485989  
  14. 13706522482  
  15. 13666519777  
  16. 13666515188  
  17. 18857287528  
  18. 15575394501  

python实现:

[python] view plain copy
  1. # coding=UTF-8  
  2.   
  3. # get provider information by phoneNumber  
  4.   
  5. from urllib import urlopen  
  6. import re  
  7.   
  8. # get html source code for url  
  9. def getPageCode(url):  
  10.     file = urlopen(url)  
  11.     text = file.read()  
  12.     file.close()  
  13. #   text = text.decode("utf-8")     # depending on coding of source code responded  
  14.     return text  
  15.   
  16. # parse html source code to get provider information  
  17. def parseString(src, result):  
  18.     pat = []  
  19.     pat.append('(?<=归属地:</span>).+(?=<br />)')  
  20.     pat.append('(?<=卡类型:</span>).+(?=<br />)')  
  21.     pat.append('(?<=运营商:</span>).+(?=<br />)')  
  22.     pat.append('(?<=区号:</span>)\d+(?=<br />)')  
  23.     pat.append('(?<=邮编:</span>)\d+(?=<br />)')  
  24.   
  25.     item = []  
  26.     for i in range(len(pat)):  
  27.         m = re.search(pat[i], src)  
  28.         if m:  
  29.             v = m.group(0)  
  30.             item.append(v)  
  31.     return item  
  32.   
  33. # get provider by phoneNum  
  34. def getProvider(phoneNum, result):  
  35.     url = "http://www.sjgsd.com/n/?q=%s" %phoneNum  
  36.     text = getPageCode(url)  
  37.     item = parseString(text, result)  
  38.     result.append((phoneNum, item))  
  39.   
  40. # write result to file  
  41. def writeResult(result):  
  42.     f = open("result.log", "w")  
  43.     for num, item in result:  
  44.         f.write("%s:\t" %num)  
  45.         for i in item:  
  46.             f.write("%s,\t" %i)  
  47.         f.write("\n")  
  48.     f.close()  
  49.   
  50. if __name__ == "__main__":  
  51.     result = []  
  52.     for line in open("test.txt", "r"):  
  53.         phoneNum = line.strip(" \t\r\n")  
  54.         getProvider(phoneNum, result)  
  55.         print("%s is finished" %phoneNum)  
  56.   
  57.     writeResult(result)  


本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
python 简单爬取今日头条热点新闻(一)
Python网络爬虫实战
Python爬虫实战:东方财富网股吧数据爬取(一)
python爬虫如何实现每天爬取微信公众号的推送文章
好书推荐:Python网络数据采集(附代码)
中国人民志愿军抗美援朝出国作战70周年,我用 Python 为英雄们送上祝福
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服