前言 文的文字及圖片來源於網路,僅供學習、交流使用,不具有任何商業用途,版權歸原作者所有,如有問題請及時聯繫我們以作處理。 作者:Python測試社區 1目 標 場 景 平時在工作過程中,偶爾會需要大量的 手機號碼,去測試一些具體的業務功能,為了保證測試的有效性,手機號碼的 真實性 尤為的重要。 那 ...
前言
文的文字及圖片來源於網路,僅供學習、交流使用,不具有任何商業用途,版權歸原作者所有,如有問題請及時聯繫我們以作處理。
作者:Python測試社區
1目 標 場 景
平時在工作過程中,偶爾會需要大量的 手機號碼,去測試一些具體的業務功能,為了保證測試的有效性,手機號碼的 真實性 尤為的重要。
那如何按要求 批量生成 一些真實的手機號碼呢?
本篇文章的目的是帶大家利用 Python 批量生成手機號碼。
2編 寫 代 碼
要批量生成手機號碼,首先需要瞭解 11 位手機號碼的組成規律,即:
- 手機號碼一共有 11 位,以 1 開頭
- 第 2 位的數值是 3、4、5、7、8 中的一個
- 第 3 位根據第 2 位的數字,對應運營商的生成規律
- 後 8 位是隨機生成的 8 個數字
知道手機號碼的組成規律後,接著把數字拼接起來,即可以生成一個手機號碼
由於三大運營商的號段一直在更新變化,上面組成的手機號碼也有可能不是一個有效的號碼。
為了保證號碼的真實性,利用號碼去獲取 手機號碼歸屬地,如果能獲取到歸屬地,即代表為一個真實有效的號碼。
淘寶和百度都提供了查詢歸屬地的 API,可以非常方便的查詢號碼的歸屬地。
迴圈上面的操作,可以生成一些隨機的手機號碼,正因為生成號碼的隨機性,使得數據的價值性大打折扣。
如果我需要批量生成指定城市的手機號碼,上面的這種方法沒法做到。幸運地是,有一個網站(閱讀原文)已經實現了這個功能,我們只需要用 Python 模擬請求即可。
選擇手機號碼歸屬地、包含號段、數量,就能快速生成我們想要的手機號碼,按 F12 可以查看網路請求方式及參數。
請求參數中的區域代碼對應選擇的省+市區,這部分數據利用 JS 載入到頁面中了。
我們只需要解析網頁源代碼,利用正則表達式查找對應的字元串,解析出 區域 ID 和城市名稱。
拿到城市名稱和區域 ID 的關係數據後,模擬網路請求,即可以批量生成目標城市的手機號碼。
3結 果 結 論
通過上面的操作,就能按照自己的需求,批量生成一些真實有效的手機號碼。
接下來,可以結合自動化操作,可以使得我們生成的數據價值最大化。