这篇文章主要讲解了“python3怎么实现简单的ip提取功能”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“python3怎么实现简单的ip提取功能”吧!
准备环境python3, win10系统,当然linux更好,赢下需要安装依模块(调用第三方接口进行ip归属地查询需要发起请求)
引用> 引用>\ \ \用户Desktop> pip install 请求 Collecting 请求 Downloading 才能;请求-.-py2.py3-none-any.whl (kB) %,kB kB/s Collecting chardet<,祝辞=只(得到请求) Downloading 才能chardet -.-py2.py3-none-any.whl (kB) %,kB kB/s Collecting idna<祝辞=,(得到请求) Downloading 才能idna——py2.py3-none-any.whl (kB) %,kB MB/s Collecting urllib3<祝辞=只(得到请求) Downloading 才能urllib3——py2.py3-none-any.whl (kB) %,kB kB/s Collecting certifi>=只(得到请求) Downloading 才能certifi -.-py2.py3-none-any.whl (kB) %,kB MB/s Installing collected , chardet, idna,, urllib3, certifi,请求 Successfully installed  certifi——只chardet——只idna安康;请求——只urllib3——我这里调用阿里的第三方接口进行IP归属地查询,接口地址http://ip.taobao.com/instructions.php <代码> 代码>
接口描述
<>之前1只请求接口(得到):/服务/getIpInfo.php ? ip=[ip地址字串) 2只响应信息: (json格式的)国家,,省(自治区或直辖市)、市(县),运营商 3只返回数据格式: {0,:{::,:, ::,::, ::,::, :,:}} 其中代码的值的含义为,0:成功,1:失败。这里大概介绍一下思路,读取文件,定义函数,进行循环,发起请求,接收参数,判断,筛选并写入文件,完成。
运行python文件先写头文件格式,告诉系统运行python3的代码,并且以utf - 8编码
引用><>之前,请求 <>之前,请求 ,请求 ,,,URL =, +, ip ,,,r =, requests.get(超时=), ,,,print (), 时间=ip checkip (ip)
运行代码结果如下,初步判断代码应该没问题
C: \ 92039 \ \用户Desktop> python 2. py测试
引用> 引用> 引用> <>之前,请求 ,,,URL =, +, ip ,,,r =, requests.get(超时=) ,,,print (), 时间=ip 以前checkip (ip) > <>之前,请求 ,,,URL =, +, ip ,,,r =, requests.get(超时=) ,,,json_data =, r.json (), ,,,region =, json_data [] [], ,,,print (),, 时间=ip checkip (ip)
<代码>区域=json_data [u # 39;数据# 39;][u # 39;地区# 39;]代码>
此处代码是按照接口返回的json的格式来写的
引用> 引用> <>之前,请求 ,,,URL =, +, ip ,,,r =, requests.get(超时=) ,,,json_data =, r.json () ,,,region =, json_data [] [] ,,,印刷(地区),, 时间=ip checkip (ip)C: \ 92039 \ \用户Desktop> python 2. py
引用> 引用> 引用>
山西省测试成功
即便python程序的语法是正确的,在运行它的时候,也有可能发生错误。运行期检测到的错误被称为异常。大多数的异常都不会被程序处理,而是以错误形式展现
这时候就要进行异常处理
引入try/除了
<>之前: ,,,,,,,x =/,ZeroDivisionError 错: ,,,,,,,印刷(,犯错) 宜昌()>之前,,C: \ 92039 \ \用户Desktop> python 5。py
引用>
异常:除零如果未做异常处理将直接报错,导致程序无法继续执行部
引用> 引用> <>之前,请求 : ,,,,,,,URL =, +, ip ,,,,,,,r =, requests.get (URL,超时=) ,,,,,,,json_data =, r.json () ,,,,,,,region =, json_data [] [] ,,,,,,,印刷(地区) : 时间=ip checkip (ip)C: \ 92039 \ \用户Desktop> python 2. py
山西省
引用> 引用>接下来加入如果判断
引用> <>之前,请求 : ,,,,,,,URL =, +, ip ,,,,,,,r =, requests.get (URL,超时=) ,,,,,,,json_data =, r.json () ,,,,,,,region =, json_data [] []==,region 拖延: : : 时间=ip checkip (ip)python3怎么实现简单的ip提取功能