python实现获取Ip归属地等信息

获取IP归属地等信息是网络爬虫开发中常用的技术之一。Python是一种简单易用的编程语言,也有许多强大的第三方模块可以用于网络爬虫开发。本文将为大家介绍如何使用Python实现获取IP归属地等信息的完整攻略。

步骤一:引入所需模块

首先,我们需要引入用于实现这一功能的第三方模块——"Requests" 和 "BeautifulSoup4" 。"Requests"模块可以访问 Web 内容而"BeautifulSoup4"则能解析 HTML。

import requests
from bs4 import BeautifulSoup

我们还需要定一个IP地址和查询网站URL,此处以“https://ip.chinaz.com/”为例。

ip=input("请输入IP地址:")
query_url="https://ip.chinaz.com/"+ip

步骤二:发送请求并解析

我们使用 "Requests" 发送请求,将页面内容存储在一个变量中。然后,我们使用 "BeautifulSoup4" 将这个变量转换为 BeautifulSoup 对象。最后,我们就可以根据标签名称、类名、 ID 等等来检索我们所需要的信息,并把它们显示出来。

response = requests.get(query_url) #发送请求并获取HTML页面
soup = BeautifulSoup(response.text, 'html.parser') #解析HTML页面
result=soup.find_all('span',{"class":"Whwtdhalf w80p"}) #获取IP地址的归属地

这里我们使用 soup.find_all('span',{"class":"Whwtdhalf w80p"}) 来获取 IP 地址的归属地,因为这个标签拥有 class 为 "Whwtdhalf w80p"。

步骤三:输出结果

for item in result:
    print(item.string)

将以上查询方法组合起来后,完整代码如下:

import requests
from bs4 import BeautifulSoup

ip=input("请输入IP地址:")
query_url="https://ip.chinaz.com/"+ip

response = requests.get(query_url) #发送请求并获取HTML页面
soup = BeautifulSoup(response.text, 'html.parser') #解析HTML页面
result=soup.find_all('span',{"class":"Whwtdhalf w80p"}) #获取IP地址的归属地

for item in result:
    print(item.string)

下面我们将进行两个示例,分别查询 iP 地址为 202.194.138.5 和 8.8.8.8 的 IP 地址归属地。

import requests
from bs4 import BeautifulSoup

# 通过输入查询
ip=input("请输入IP地址:")

# 查询 202.194.138.5 的归属地
query_url="https://ip.chinaz.com/"+ip
response = requests.get(query_url)
soup = BeautifulSoup(response.text, 'html.parser')
result=soup.find_all('span',{"class":"Whwtdhalf w80p"})
for item in result:
    print(item.string)

#查询 8.8.8.8 的归属地
query_url="https://ip.chinaz.com/"+ip
response = requests.get(query_url)
soup = BeautifulSoup(response.text, 'html.parser')
result=soup.find_all('span',{"class":"Whwtdhalf w80p"})
for item in result:
    print(item.string)

以上就是如何基于 Python 实现获取 IP 归属地等信息的完整攻略,其中涉及到了 "Requests" 和 "BeautifulSoup4" 两个库的使用,通过解析 HTML 页面的方式获取网站上的信息。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python实现获取Ip归属地等信息 - Python技术站

(0)
上一篇 2023年6月3日
下一篇 2023年6月3日

相关文章

  • 19个Python Sklearn中超实用的隐藏功能分享

    关于“19个Python Sklearn中超实用的隐藏功能分享”的完整攻略 1. 背景介绍 Sklearn是Python科学计算中一个非常重要的库,它集成了各种机器学习算法,同时还提供了许多辅助工具,用于数据的预处理、模型选择和评估。本攻略主要分享Sklearn中的一些隐藏功能,帮助大家更好的使用和理解这个库。 2. 隐藏功能介绍 2.1. 随机森林的fea…

    python 2023年6月3日
    00
  • python 图片验证码代码分享

    Python图片验证码代码分享 验证码(CAPTCHA,Completely Automated Public Turing test to tell Computers and Humans Apart)是用来识别用户是否为人类的技术,现在已经广泛应用于网站注册、登录、密码找回等场景中,以防止自动化程序恶意攻击。 在Python中,我们可以使用第三方库ca…

    python 2023年5月14日
    00
  • Python基础学习之模块的安装和卸载

    以下是关于“Python基础学习之模块的安装和卸载”的完整攻略: 模块的安装和卸载 Python中的模块是一组相关的函数、类和变量的集合,可以通过安装和卸载模块来扩展Python的功能。以下是Python模块的安装和卸载的步骤: 安装模块 Python中的模块可以通过pip命令来安装。以下是安装模块的步骤: 打开命令行窗口,输入以下命令来安装模块: pip …

    python 2023年5月13日
    00
  • Python实现字典的key和values的交换

    要交换Python字典中的key和values,可以采用以下步骤: 首先,创建一个字典。 把字典里的key和values交换位置,可以采用字典推导式的方式。具体来讲,可以创建一个新的字典,遍历原始字典,把原始字典的key和value倒置,最后把倒置后的key-value键值对添加到新的字典中。 删除原始字典。 以下是Python代码实现交换字典中key和va…

    python 2023年5月13日
    00
  • python清理子进程机制剖析

    Python 清理子进程机制剖析 在 Python 中,子进程是非常常见的一种操作。然而,如果没有正确的清理子进程,就会出现一些难以预料的问题。本文将介绍 Python 中的子进程清理机制以及如何正确的清理子进程。 为什么需要清理子进程 在 Python 中,当一个父进程结束时,所有由它创建的子进程都会变成孤儿进程。如果孤儿进程没有被正确的终止,那么它们将继…

    python 2023年5月14日
    00
  • WINDOWS 同时安装 python2 python3 后 pip 错误的解决方法

    让我来详细讲解“WINDOWS同时安装Python2和Python3后pip错误的解决方法”的完整攻略。 问题描述 在 Windows 系统中,我们有时需要同时安装 Python2 和 Python3,并且使用 pip 安装 Python 包时可能会遇到如下错误: Fatal error in launcher: Unable to create proce…

    python 2023年5月14日
    00
  • Python多线程编程(五):死锁的形成

    死锁是一种多线程编程中的常见问题,是指两个或多个线程在执行过程中互相等待对方释放需要的资源,并导致所有线程无法继续执行的情况。下面我将详细讲解如何避免死锁的形成。 什么是死锁? 死锁是指在两个或多个线程协作完成某项任务的过程中,由于彼此之间相互等待对方释放需要的资源,导致所有线程都停止执行的现象。例如,线程 A 在占用资源 1 的同时等待获取资源 2,而线程…

    python 2023年5月18日
    00
  • 使用Django和Python创建Json response的方法

    使用Django和Python创建JSON response的方法可以通过以下步骤实现: 步骤1: 引入json模块和HttpResponse模块 我们需要引入json模块来处理JSON数据,同时引入HttpResponse模块来将JSON数据作为HTTP响应返回给客户端。 import json from django.http import HttpRe…

    python 2023年6月3日
    00
合作推广
合作推广
分享本页
返回顶部