显示归属地需求
昨天有一个朋友找到我说,”仙草哥哥,最近,我看微博,抖音,公众号等网站平台都上线了显示IP属地这个功能了,他们说,显示IP属地,可以说是网络平台落实信息内容管理主体责任的一项重要举措。我的网站上也想赶紧跟进这一项功能,可是我不会做,你能不能教教我,这个应该怎么做呢?“
我说,”这个不是很容易吗,别人在上你网站的时候,你肯定能收到请求啊,里面就记录了IP地址,有了这个IP地址,不就能查到属地了吗,然后你就选择其中的国家或者地区部分,显示一下,不就可以了吗?“
朋友说,”请求的IP地址我可以拿到,但是问题是,拿到了IP地址以后,怎么才能知道归属地呢?我不认识啊,这可如何是好?“
我说,”其实啊,这个功能特别简单,只要通过python的爬虫就可以实现了。“
因此呢,今天就来研究一下,通过IP查属地这个功能,到底是如何通过程序实现的。
查看本机IP归属地
查看本机IP地址的方式有很多,比如说手动通过百度搜索一下”IP“这样的关键字,就能查看到自己的IP,当然,也可以通过requests发起简单的请求完成查看IP这一个功能,比如说,使用一下知名的httpbin.org网站
import requests
r = requests.get("http://httpbin.org/get")
# 显示本机当前ip地址,但是不显示归属地
print("当前的ip地址为:", r.json()["origin"])
通过简单运行一下上边的几行代码,就能显示出当前的IP地址,可是只是显示地址的话,我们还是不能够知道归属地问题。如果要确切的知道IP归属地,还需要依靠一些服务商,比如说国内最常用的ip138
import requests
import re
# 这是ip138网站的一个接口地址,随时都会发生变化,这里只是作为演示
url = "https://2022.ip138.com"
# 必须修改user-agent,否则不可能请求得到数据的