我从pypi得到了这个代码:

from phonenumbers import carrier

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

carrier.name_for_number(ro_number, "en")

输出:
'Vodafone'

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

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

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

还是我应该添加 pycountry

请帮我。

最佳答案

我有点晚了,但我找到了解决方案。 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 并返回载体。希望有人觉得这很有用!

关于python-3.x - 使用python查找全局电话运营商,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54871005/

10-13 04:00