成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

python3怎么實(shí)現(xiàn)簡(jiǎn)單的ip提取功能

這篇文章主要講解了“python3怎么實(shí)現(xiàn)簡(jiǎn)單的ip提取功能”,文中的講解內(nèi)容簡(jiǎn)單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來(lái)研究和學(xué)習(xí)“python3怎么實(shí)現(xiàn)簡(jiǎn)單的ip提取功能”吧!

這篇文章主要講解了“python3怎么實(shí)現(xiàn)簡(jiǎn)單的ip提取功能”,文中的講解內(nèi)容簡(jiǎn)單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來(lái)研究和學(xué)習(xí)“python3怎么實(shí)現(xiàn)簡(jiǎn)單的ip提取功能”吧!

讓客戶(hù)滿意是我們工作的目標(biāo),不斷超越客戶(hù)的期望值來(lái)自于我們對(duì)這個(gè)行業(yè)的熱愛(ài)。我們立志把好的技術(shù)通過(guò)有效、簡(jiǎn)單的方式提供給客戶(hù),將通過(guò)不懈努力成為客戶(hù)在信息化領(lǐng)域值得信任、有價(jià)值的長(zhǎng)期合作伙伴,公司提供的服務(wù)項(xiàng)目有:國(guó)際域名空間、網(wǎng)絡(luò)空間、營(yíng)銷(xiāo)軟件、網(wǎng)站建設(shè)、西夏網(wǎng)站維護(hù)、網(wǎng)站推廣。

準(zhǔn)備環(huán)境python3,win10系統(tǒng),當(dāng)然linux更好,win下需要安裝reuqests模塊(調(diào)用第三方接口進(jìn)行ip歸屬地查詢(xún)需要發(fā)起請(qǐng)求)

\Users\\Desktop>pip install requestsCollecting requests  Downloading requests-.-py2.py3-none-any.whl (kB)%  kB kB/sCollecting chardet<.,>=. (from requests)  Downloading chardet-.-py2.py3-none-any.whl (kB)%  kB kB/sCollecting idna<,>= (from requests)  Downloading idna--py2.py3-none-any.whl (kB)%  kB MB/sCollecting urllib3<,>=. (from requests)  Downloading urllib3--py2.py3-none-any.whl (kB)%  kB kB/sCollecting certifi>=. (from requests)  Downloading certifi-.-py2.py3-none-any.whl (kB)%  kB MB/sInstalling collected  chardet, idna, urllib3, certifi, requestsSuccessfully installed certifi-. chardet-. idna- requests-. urllib3-

我這里調(diào)用阿里的第三方接口進(jìn)行IP歸屬地查詢(xún),接口地址http://ip.taobao.com/instructions.php

接口描述1. 請(qǐng)求接口(GET):/service/getIpInfo.php?ip=[ip地址字串]2. 響應(yīng)信息:(json格式的)國(guó)家 、?。ㄗ灾螀^(qū)或直轄市)、市(縣)、運(yùn)營(yíng)商3. 返回?cái)?shù)據(jù)格式:{:0,:{:,:,:,:,:,:,:,:,:,:,:,:,:}}其中code的值的含義為,0:成功,1:失敗。

這里大概介紹一下思路,讀取文件,定義函數(shù),進(jìn)行循環(huán),發(fā)起請(qǐng)求,接收參數(shù),判斷,篩選并寫(xiě)入文件,完成。

運(yùn)行python文件先寫(xiě)頭文件格式,告訴系統(tǒng)運(yùn)行python3的代碼,并且以u(píng)tf-8編碼
#!usr/bin/python3
#-*-coding:utf-8-*-

 requests requests requests    URL =  + ip    r = requests.get(,timeout=)     print() ip = checkip(ip)

運(yùn)行代碼結(jié)果如下,初步判斷代碼應(yīng)該沒(méi)問(wèn)題
C:\Users\92039\Desktop>python 2.py

test

 requests    URL =  + ip    r = requests.get(,timeout=)    print() ip = checkip(ip) requests    URL =  + ip    r = requests.get(,timeout=)    json_data = r.json()     region = json_data[][]     print()  ip = checkip(ip)

region = json_data[u'data'][u'region']

此處代碼是按照接口返回的json的格式來(lái)寫(xiě)的

 requests    URL =  + ip    r = requests.get(,timeout=)    json_data = r.json()    region = json_data[][]    print(region)  ip = checkip(ip)
C:\Users\92039\Desktop>python 2.py

山西省

測(cè)試成功

即便Python程序的語(yǔ)法是正確的,在運(yùn)行它的時(shí)候,也有可能發(fā)生錯(cuò)誤。運(yùn)行期檢測(cè)到的錯(cuò)誤被稱(chēng)為異常。大多數(shù)的異常都不會(huì)被程序處理,而是以錯(cuò)誤形式展現(xiàn)

這時(shí)候就要進(jìn)行異常處理

引入try/except

:        x = / ZeroDivisionError  err:        print(, err)yichang()    
C:\Users\92039\Desktop>python 5.py

異常: division by zero

如果未做異常處理將直接報(bào)錯(cuò),導(dǎo)致程序無(wú)法繼續(xù)執(zhí)行部

 requests:        URL =  + ip        r = requests.get(URL,timeout=)        json_data = r.json()        region = json_data[][]        print(region):ip = checkip(ip)

C:\Users\92039\Desktop>python 2.py

山西省

接下來(lái)加入if判斷

 requests:        URL =  + ip        r = requests.get(URL,timeout=)        json_data = r.json()        region = json_data[][] region == :::ip = checkip(ip)

然后需要加入打開(kāi)文件部分的代碼

當(dāng)做文件處理時(shí),需要獲取一個(gè)文件句柄,從文件中讀取數(shù)據(jù),然后關(guān)閉文件句柄。

file = open()data = file.read()file.close()    

這里有兩個(gè)問(wèn)題。一是可能忘記關(guān)閉文件句柄;二是文件讀取數(shù)據(jù)發(fā)生異常,沒(méi)有進(jìn)行任何處理

然而with可以很好的處理上下文環(huán)境產(chǎn)生的異常

= f.read()

 open()  f:           ips = f.read().split()    ip  ips:                       print(ip)

ips.txt中寫(xiě)入了3個(gè)ip

222.31.41.253 #山西省202.12.15.52  #日本61.135.169.12 #北京

運(yùn)行結(jié)果

C:\Users\92039\Desktop>python 3.py
222.31.41.253
202.12.15.52

61.135.169.121

將該模塊加入到代碼中

 requests:        URL =  + ip        r = requests.get(URL,timeout=)        json_data = r.json()        region = json_data[][] region == :            print(ip):: open()  f:    ips = f.read().split() ip  ips:        print(ip)        checkip(ip)
C:\Users\92039\Desktop>python 2.py
222.31.41.253  
222.31.41.253  
202.12.15.52

61.135.169.121

因?yàn)橛袃纱屋敵?,屬于山西省的ip會(huì)打印兩次,由運(yùn)行結(jié)果可知只有第一個(gè)ip屬于山西省

接下來(lái)要加入寫(xiě)入文件的模塊,將屬于山西省的ip全部寫(xiě)入一個(gè)文件

 open(,)  fw:    i  range():        fw.write()原有數(shù)據(jù)1234

運(yùn)行腳本后
1
2
3
4
a
a
a
a

a

補(bǔ)充一下文件操作的知識(shí)文件打開(kāi)模式    

r ,只讀模式【默認(rèn)模式,文件必須存在,不存在則拋出異?!?/p>

w,只寫(xiě)模式【不可讀;不存在則創(chuàng)建;存在則清空內(nèi)容】

x, 只寫(xiě)模式【不可讀;不存在則創(chuàng)建,存在則報(bào)錯(cuò)】

a, 追加模式【可讀;   不存在則創(chuàng)建;存在則只追加內(nèi)容】,文件指針自動(dòng)移到文件尾。

"+" 表示可以同時(shí)讀寫(xiě)某個(gè)文件    

r+, 讀寫(xiě)【可讀,可寫(xiě)】

w+,寫(xiě)讀【可讀,可寫(xiě)】,消除文件內(nèi)容,然后以讀寫(xiě)方式打開(kāi)文件。

x+ ,寫(xiě)讀【可讀,可寫(xiě)】

a+, 寫(xiě)讀【可讀,可寫(xiě)】,以讀寫(xiě)方式打開(kāi)文件,并把文件指針移到文件尾。

"b"表示以字節(jié)的方式操作,以二進(jìn)制模式打開(kāi)文件,而不是以文本模式。    

rb  或 r+b

wb 或 w+b

xb 或 w+b

ab 或 a+b

注:以b方式打開(kāi)時(shí),讀取到的內(nèi)容是字節(jié)類(lèi)型,寫(xiě)入時(shí)也需要提供字節(jié)類(lèi)型,不能指定編碼

將寫(xiě)入文件的2行代碼加入

 requests:        URL =  + ip        r = requests.get(URL,timeout=)        json_data = r.json()        region = json_data[][] region == : open(,)  fw:                fw.write( + ip):: open()  f:           ips = f.read().split() ip  ips:        checkip(ip)

運(yùn)行腳本

:\\92039\> 2

會(huì)在桌面創(chuàng)建一個(gè)a.txt文檔,結(jié)果為

222.31.41.253

網(wǎng)頁(yè)標(biāo)題:python3怎么實(shí)現(xiàn)簡(jiǎn)單的ip提取功能
轉(zhuǎn)載源于:http://jinyejixie.com/article18/cjpgp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供外貿(mào)網(wǎng)站建設(shè)網(wǎng)站收錄、網(wǎng)頁(yè)設(shè)計(jì)公司、用戶(hù)體驗(yàn)移動(dòng)網(wǎng)站建設(shè)、網(wǎng)站維護(hù)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

商城網(wǎng)站建設(shè)
蒲城县| 石嘴山市| 古交市| 涟水县| 绥阳县| 兴海县| 玉山县| 商南县| 金沙县| 绥江县| 建水县| 伊宁市| 沙雅县| 蒲城县| 佛冈县| 武穴市| 辽阳市| 石嘴山市| 阿图什市| 江口县| 云霄县| 宿州市| 阿勒泰市| 墨竹工卡县| 喜德县| 莒南县| 武邑县| 十堰市| 麟游县| 信丰县| 尉氏县| 会泽县| 志丹县| 青铜峡市| 无锡市| 夏邑县| 红原县| 雷山县| 平安县| 沅陵县| 尤溪县|