4

我从 pypi 得到了这段代码:

from phonenumbers import carrier

ro_number = phonenumbers.parse("+40721234567", "RO")

carrier.name_for_number(ro_number, "en")

输出:

'Vodafone'

我在印度。当我为我的电话号码编写此代码时,它可以完美运行并显示 Airtel。但我的项目是寻找美国电话号码 +1xxx xxx xxx 的运营商。当我为美国号码执行此操作时,它返回一个空字符串,因为未完成映射。

请帮助我为美国号码执行此操作。

我应该更改笔记本电脑的位置吗?我不知道该怎么做。

或者我应该添加pycountry吗?

请帮我。

4

1 回答 1

3

我对此有点晚了,但我找到了解决方案。phonenumbers 不适用于美国电话号码。我写了一个小脚本来免费从美国电话号码中获取运营商。这里是:

import requests
import json
def getCarrier(number):
    url = 'https://api.telnyx.com/v1/phone_number/1' + number
    html = requests.get(url).text
    data = json.loads(html)
    carrier = data["carrier"]["name"]
    return carrier

它所做的只是从 URL 中抓取一些 json 并返回运营商。希望有人觉得这很有用!

于 2020-04-16T01:49:42.880 回答