<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          如何快速找到全世界所有國家的電話區(qū)號?

          共 1030字,需瀏覽 3分鐘

           ·

          2022-03-25 15:14

          有這樣的一個需求,收到國外手機(jī)號發(fā)來的信息,我想知道這是哪個國家的手機(jī)號,這個國家的區(qū)號是多少?怎么批量操作?

          "phone":"+79000381454"

          如何快速解決這個問題呢?

          有那么幾種方法,直接去網(wǎng)上搜,看看有沒有現(xiàn)成的庫可以用。手里如果有幾十幾百個手機(jī)號要確認(rèn), 那種在線的服務(wù)臨時逐個手動查肯定不現(xiàn)實(shí)。不過你倒是可以做這樣的一個在線服務(wù),肯定有需求。

          第二個我能想到的是,直接爬,畢竟我是搞python的。很多主流網(wǎng)站都提供有手機(jī)號注冊功能, 他們一般都支持國外手機(jī)號注冊。

          第一個能想到的就是知乎

          87a1c733613059e4fbd6230cd2e3fecd.webp

          它的注冊頁面有所有國家的區(qū)號

          怎么爬最高效呢?

          這有方法講究,不需要去下載他的整個頁面。因?yàn)槲抑皇切枰@一部分的數(shù)據(jù)而已。就不要再去發(fā)個請求把整個頁面下載下來解析了。

          直接開干

          打開他的頁面審查元素,直接拷貝父元素

          c5ec896189702cbd922ff3727109ba7e.webp

          我們用神器 BeautifulSoup 去解析這個html文檔字符串

          先找到所有buttons元素,因?yàn)閲颐蛥^(qū)號都是放在button里面。

          html?=?"""?..."""
          from?bs4?import?BeautifulSoup
          ????soup?=?BeautifulSoup(html)
          ????buttons?=?soup.findAll("button")
          ????for?button?in?buttons:
          ????????print(button)

          9cdf00792111f7ddb7a7dec635e421f1.webp

          第二步直接提取里面的文本,并進(jìn)行解析清洗

          text?=?button.text
          country_name,?area_code?=?text.split("?")
          print(country_name,?area_code[1:]?)

          因?yàn)槊恳恍卸际墙y(tǒng)一規(guī)律的結(jié)構(gòu)化數(shù)據(jù),國家和區(qū)號之間有空格,所有直接通過空格將字符串進(jìn)行分割成兩部分。?區(qū)號前面都有一個“+”,我直接用切片從1個字符開始切,得到真正的區(qū)號。

          最后輸出

          中國香港?852
          中國?86
          美國?1
          日本?81
          中國澳門?853
          中國臺灣?886
          馬來西亞?60
          澳大利亞?61
          加拿大?1
          英國?44
          新加坡?65
          德國?49
          俄羅斯?7
          埃及?20
          南非?27
          希臘?30
          ....

          完事

          完整代碼:

          def?extract_area_code():
          ????????"""
          ????????提取國家區(qū)號
          ????????"""

          ????????html?=?"""
          ??????? div class="Select-list" role="listbox">

          為了方便大家索取,我把他轉(zhuǎn)換成json

          {'中國':?'86',
          ?'中國臺灣':?'886',
          ?'中國澳門':?'853',
          ?'中國香港':?'852',
          ?'中非共和國':?'236',
          ?'丹麥':?'45',
          ?'烏克蘭':?'380',
          ?'烏茲別克斯坦':?'998',
          ?'烏干達(dá)':?'256',
          ?'烏拉圭':?'598',
          ?'乍得':?'235',
          ?'也門':?'967',
          ?'亞美尼亞':?'374',
          ?'以色列':?'972',
          ?'伊拉克':?'964',
          ?'伊朗':?'98',
          ?'伯利茲':?'501',
          ?'俄羅斯':?'7',
          ?'保加利亞':?'359',
          ?'關(guān)島':?'1671',
          ?'岡比亞':?'220',
          ?'冰島':?'354',
          ?'幾內(nèi)亞':?'224',
          ?'列支敦士登':?'423',
          ?'剛果民主共和國':?'243',
          ?'利比亞':?'218',
          ?'利比里亞':?'231',
          ?'加拿大':?'1',
          ?'加納':?'233',
          ?'加蓬':?'241',
          ?'匈牙利':?'36',
          ?'南非':?'27',
          ?'博茨瓦納':?'267',
          ?'卡塔爾':?'974',
          ?'盧森堡':?'352',
          ?'印度':?'91',
          ?'印度尼西亞':?'62',
          ?'厄瓜多爾':?'593',
          ?'敘利亞':?'963',
          ?'古巴':?'53',
          ?'吉爾吉斯斯坦':?'996',
          ?'吉布提':?'253',
          ?'哈薩克斯坦':?'7',
          ?'哥倫比亞':?'57',
          ?'哥斯達(dá)黎加':?'506',
          ?'喀麥隆':?'237',
          ?'土庫曼斯坦':?'993',
          ?'土耳其':?'90',
          ?'圣多美和普林西比':?'239',
          ?'圣露西亞':?'1758',
          ?'圣馬力諾':?'378',
          ?'圭亞那':?'592',
          ?'坦桑尼亞':?'255',
          ?'埃及':?'20',
          ?'埃塞俄比亞':?'251',
          ?'塔吉克斯坦':?'992',
          ?'塞內(nèi)加爾':?'221',
          ?'塞爾維亞共和國':?'381',
          ?'塞拉利昂':?'232',
          ?'塞浦路斯':?'357',
          ?'塞舌爾':?'248',
          ?'墨西哥':?'52',
          ?'多哥':?'228',
          ?'多明尼加共和國':?'1809',
          ?'奧地利':?'43',
          ?'委內(nèi)瑞拉':?'58',
          ?'孟加拉國':?'880',
          ?'安哥拉':?'244',
          ?'安圭拉島':?'1264',
          ?'安提瓜和巴布達(dá)':?'1268',
          ?'安道爾共和國':?'376',
          ?'尼加拉瓜':?'505',
          ?'尼日利亞':?'234',
          ?'尼日爾':?'227',
          ?'尼泊爾':?'977',
          ?'巴哈馬':?'1242',
          ?'巴基斯坦':?'92',
          ?'巴巴多斯':?'1246',
          ?'巴布亞新幾內(nèi)亞':?'675',
          ?'巴拉圭':?'595',
          ?'巴拿馬':?'507',
          ?'巴林':?'973',
          ?'巴西':?'55',
          ?'布基納法索':?'226',
          ?'布隆迪':?'257',
          ?'希臘':?'30',
          ?'庫克群島':?'682',
          ?'開曼群島':?'1345',
          ?'德國':?'49',
          ?'意大利':?'39',
          ?'所羅門群島':?'677',
          ?'拉脫維亞':?'371',
          ?'挪威':?'47',
          ?'捷克':?'420',
          ?'摩爾多瓦':?'373',
          ?'摩洛哥':?'212',
          ?'摩納哥':?'377',
          ?'文萊':?'673',
          ?'斐濟(jì)':?'679',
          ?'斯威士蘭':?'268',
          ?'斯洛伐克':?'421',
          ?'斯洛文尼亞':?'386',
          ?'斯里蘭卡':?'94',
          ?'新加坡':?'65',
          ?'新西蘭':?'64',
          ?'日本':?'81',
          ?'智利':?'56',
          ?'柬埔寨':?'855',
          ?'格林納達(dá)':?'1473',
          ?'格魯吉亞':?'995',
          ?'比利時':?'32',
          ?'毛里塔尼亞':?'222',
          ?'毛里求斯':?'230',
          ?'湯加':?'676',
          ?'沙特阿拉伯':?'966',
          ?'法國':?'33',
          ?'法屬圭亞那':?'594',
          ?'法屬波利尼西亞':?'689',
          ?'波蘭':?'48',
          ?'波多黎各':?'1787',
          ?'泰國':?'66',
          ?'津巴布韋':?'263',
          ?'洪都拉斯':?'504',
          ?'海地':?'509',
          ?'澳大利亞':?'61',
          ?'愛爾蘭':?'353',
          ?'愛沙尼亞':?'372',
          ?'牙買加':?'1876',
          ?'特立尼達(dá)和多巴哥':?'1868',
          ?'玻利維亞':?'591',
          ?'瑞典':?'46',
          ?'瑞士':?'41',
          ?'瓜地馬拉':?'502',
          ?'白俄羅斯':?'375',
          ?'百慕大群島':?'1441',
          ?'直布羅陀':?'350',
          ?'科威特':?'965',
          ?'科特迪瓦':?'225',
          ?'秘魯':?'51',
          ?'突尼斯':?'216',
          ?'立陶宛':?'370',
          ?'索馬里':?'252',
          ?'約旦':?'962',
          ?'納米比亞':?'264',
          ?'緬甸':?'95',
          ?'羅馬尼亞':?'40',
          ?'美國':?'1',
          ?'老撾':?'856',
          ?'肯尼亞':?'254',
          ?'芬蘭':?'358',
          ?'蘇丹':?'249',
          ?'蘇里南':?'597',
          ?'英國':?'44',
          ?'荷蘭':?'31',
          ?'莫桑比克':?'258',
          ?'萊索托':?'266',
          ?'菲律賓':?'63',
          ?'薩爾瓦多':?'503',
          ?'葡萄牙':?'351',
          ?'蒙古':?'976',
          ?'蒙特塞拉特島':?'1664',
          ?'西班牙':?'34',
          ?'貝寧':?'229',
          ?'贊比亞':?'260',
          ?'越南':?'84',
          ?'阿塞拜疆':?'994',
          ?'阿富汗':?'93',
          ?'阿爾及利亞':?'213',
          ?'阿爾巴尼亞':?'355',
          ?'阿拉伯聯(lián)合酋長國':?'971',
          ?'阿曼':?'968',
          ?'阿根廷':?'54',
          ?'阿森松島':?'247',
          ?'韓國':?'82',
          ?'馬爾代夫':?'960',
          ?'馬拉維':?'265',
          ?'馬提尼克':?'596',
          ?'馬來西亞':?'60',
          ?'馬耳他':?'356',
          ?'馬達(dá)加斯加':?'261',
          ?'馬里':?'223',
          ?'黎巴嫩':?'961'}

          代碼5分鐘擼完,所以學(xué)點(diǎn)python還是非常有用的。但是寫這篇文章加排版花了約1小時,可見寫文章真是個累活。

          另外,我的日更計(jì)劃失敗了,不是因?yàn)閼校橇碛兴?jì)劃,后面也不會想著日更這個事了,想寫了就寫,沒想好寫就不寫。

          全文完!

          愿每天都平安

          任何疑問,歡迎留言或添微信上給我消息


          最近更新:




          關(guān)注Python之禪,每天學(xué)點(diǎn)Python

          瀏覽 463
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評論
          圖片
          表情
          推薦
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  麻豆A∨在线 | 青草无码视频在线观看 | 久久天天躁狠狠躁夜夜躁2014 | 日韩精品一级毛片在线播放 | 免费黄色视屏 |