Python批量获取并保存手机号归属地和运营商的示例

(编辑:jimmy 日期: 2025/1/7 浏览:2)

从Excel读取一组手机号码,批量查询该手机号码的运营商和归属地,并将其追加到该记录的末尾。

import requests
import json
import xlrd
from xlutils.copy import copy

host = 'https://cx.shouji.360.cn/phonearea.php'
# excel文件路径
file_path = "F:\\temp.xlsx"
# 新文件路径
new_file_path = "F:\\temp(含归属地+运营商).xlsx"


def query(phone_no):
  resp = requests.get(host, {'number': phone_no}).content.decode('utf-8')
  js = json.loads(resp)
  print(js)
  return js['data']


def load_excel(path):
  # 打开文件
  data = xlrd.open_workbook(path)

  # 打开第一个sheet
  table = data.sheet_by_index(0)

  new_workbook = copy(data)
  new_worksheet = new_workbook.get_sheet(0)

  rows = table.nrows
  cols = table.ncols
  print("总行数:" + str(rows))
  print("总列数:" + str(cols))

  for row in range(rows):
    print("row --> " + str(row + 1))
    for col in range(cols):
      cel_val = table.cell(row, col).value
      print(cel_val)
      new_worksheet.write(row, col, cel_val)
    if row > 0:
      # 手机号,在第一行之后的第二列
      phone_no = table.cell(row, 1).value
      js = query(phone_no)
      new_worksheet.write(row, cols + 1, js['province'] + js['city'])
      new_worksheet.write(row, cols + 2, js['sp'])
    else:
      new_worksheet.write(row, cols + 1, "归属地")
      new_worksheet.write(row, cols + 2, "运营商")
    print('\r\n')
  new_workbook.save(new_file_path)


if __name__ == '__main__':
  load_excel(file_path)

以上就是Python批量获取并保存手机号归属地和运营商的示例的详细内容,更多关于Python批量获取并保存手机号的资料请关注其它相关文章!

一句话新闻

一文看懂荣耀MagicBook Pro 16
荣耀猎人回归!七大亮点看懂不只是轻薄本,更是游戏本的MagicBook Pro 16.
人们对于笔记本电脑有一个固有印象:要么轻薄但性能一般,要么性能强劲但笨重臃肿。然而,今年荣耀新推出的MagicBook Pro 16刷新了人们的认知——发布会上,荣耀宣布猎人游戏本正式回归,称其继承了荣耀 HUNTER 基因,并自信地为其打出“轻薄本,更是游戏本”的口号。
众所周知,寻求轻薄本的用户普遍更看重便携性、外观造型、静谧性和打字办公等用机体验,而寻求游戏本的用户则普遍更看重硬件配置、性能释放等硬核指标。把两个看似难以相干的产品融合到一起,我们不禁对它产生了强烈的好奇:作为代表荣耀猎人游戏本的跨界新物种,它究竟做了哪些平衡以兼顾不同人群的各类需求呢?