ホームページ バックエンド開発 Python チュートリアル Python は番号所有権クエリ関数を実装します

Python は番号所有権クエリ関数を実装します

Aug 09, 2017 am 10:57 AM
python クエリ機能

この記事では、Python で実装された携帯電話番号の位置に関する情報クエリ機能を主に紹介します。これには、情報をクエリするためのサードパーティ インターフェイス呼び出しに基づく Python ファイルの読み取りと関連する操作スキルが含まれます。この記事では、Python を例とともに説明しています。 携帯電話番号の位置に関する情報クエリ機能を実装しました。参考のために皆さんと共有してください。詳細は次のとおりです:

指定された携帯電話番号に従って、その位置およびその他の関連情報をクエリします。Python 実装:

携帯電話番号ファイル: test.txt

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

13693252552

13296629989

13640810839

15755106631

15119622732

13904446048

18874791953

13695658500

13695658547

15950179080

15573462779

15217624651

15018485989

13706522482

13666519777

13666515188

18857287528

15575394501

ログイン後にコピー

Python 実装:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

# coding=UTF-8

# get provider information by phoneNumber

from urllib import urlopen

import re

# get html source code for url

def getPageCode(url):

  file = urlopen(url)

  text = file.read()

  file.close()

#  text = text.decode("utf-8")   # depending on coding of source code responded

  return text

# parse html source code to get provider information

def parseString(src, result):

  pat = []

  pat.append('(?<=归属地:</span>).+(?=<br />)')

  pat.append('(?<=卡类型:</span>).+(?=<br />)')

  pat.append('(?<=运营商:</span>).+(?=<br />)')

  pat.append('(?<=区号:</span>)\d+(?=<br />)')

  pat.append('(?<=邮编:</span>)\d+(?=<br />)')

  item = []

  for i in range(len(pat)):

    m = re.search(pat[i], src)

    if m:

      v = m.group(0)

      item.append(v)

  return item

# get provider by phoneNum

def getProvider(phoneNum, result):

  url = "http://www.sjgsd.com/n/?q=%s" %phoneNum

  text = getPageCode(url)

  item = parseString(text, result)

  result.append((phoneNum, item))

# write result to file

def writeResult(result):

  f = open("result.log", "w")

  for num, item in result:

    f.write("%s:\t" %num)

    for i in item:

      f.write("%s,\t" %i)

    f.write("\n")

  f.close()

if __name__ == "__main__":

  result = []

  for line in open("test.txt", "r"):

    phoneNum = line.strip(" \t\r\n")

    getProvider(phoneNum, result)

    print("%s is finished" %phoneNum)

  writeResult(result)

ログイン後にコピー

以上がPython は番号所有権クエリ関数を実装しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットな記事タグ

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Deepseek Xiaomiをダウンロードする方法 Deepseek Xiaomiをダウンロードする方法 Feb 19, 2025 pm 05:27 PM

Deepseek Xiaomiをダウンロードする方法

テンプレートのメリットとデメリットは何ですか? テンプレートのメリットとデメリットは何ですか? May 08, 2024 pm 03:51 PM

テンプレートのメリットとデメリットは何ですか?

Google AI、開発者向けに Gemini 1.5 Pro と Gemma 2 を発表 Google AI、開発者向けに Gemini 1.5 Pro と Gemma 2 を発表 Jul 01, 2024 am 07:22 AM

Google AI、開発者向けに Gemini 1.5 Pro と Gemma 2 を発表

わずか 250 ドルで、Hugging Face のテクニカル ディレクターが Llama 3 を段階的に微調整する方法を教えます わずか 250 ドルで、Hugging Face のテクニカル ディレクターが Llama 3 を段階的に微調整する方法を教えます May 06, 2024 pm 03:52 PM

わずか 250 ドルで、Hugging Face のテクニカル ディレクターが Llama 3 を段階的に微調整する方法を教えます

golang 関数のデバッグと分析の完全ガイド golang 関数のデバッグと分析の完全ガイド May 06, 2024 pm 02:00 PM

golang 関数のデバッグと分析の完全ガイド

いくつかの .NET オープンソース AI および LLM 関連プロジェクト フレームワークを共有する いくつかの .NET オープンソース AI および LLM 関連プロジェクト フレームワークを共有する May 06, 2024 pm 04:43 PM

いくつかの .NET オープンソース AI および LLM 関連プロジェクト フレームワークを共有する

どうやって彼にdeepseekに尋ねますか どうやって彼にdeepseekに尋ねますか Feb 19, 2025 pm 04:42 PM

どうやって彼にdeepseekに尋ねますか

NET40とはどのようなソフトウェアですか? NET40とはどのようなソフトウェアですか? May 10, 2024 am 01:12 AM

NET40とはどのようなソフトウェアですか?

See all articles