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日

相关文章

  • Python中使用摄像头实现简单的延时摄影技术

    下面是Python中使用摄像头实现简单的延时摄影技术的完整攻略。 概述 延时摄影技术是利用照相机或摄像机在一定时间间隔内拍摄多张照片,然后在后期将这些照片组合在一起,形成一段快速变化的视频,从而呈现出时间上的延迟效应。本文将介绍如何使用Python语言和OpenCV库实现简单的延时摄影技术。 步骤 准备工作 在开始使用Python实现延时摄影技术之前,需要安…

    python 2023年6月5日
    00
  • Python实现结构体代码实例

    下面我将详细介绍如何在Python中实现结构体代码。 什么是结构体 在Python中,没有结构体这个概念。但是,我们可以使用字典(dict)来模拟结构体的功能。字典是一种键值对的数据类型,其中每个键对应一个值。我们可以使用键名来访问相应的值。因此,我们可以将键名看作是结构体的字段名,将值看作是字段的值。 如何实现结构体 使用字典模拟结构体的过程非常简单。我们…

    python 2023年5月19日
    00
  • 微信跳一跳怎么刷高分?用Python玩微信跳一跳Mac+iOS+Win详细教程

    我们来详细讲解一下“微信跳一跳怎么刷高分?用Python玩微信跳一跳Mac+iOS+Win详细教程”的完整攻略。 1. 安装相关软件和库 首先需要安装Python3和一些相关依赖库,包括opencv-python、numpy、matplotlib、adb-python等。这些软件和库可以通过pip进行安装。 pip install opencv-python…

    python 2023年5月23日
    00
  • Python numpy实现二维数组和一维数组拼接的方法

    下面是详细讲解 “Python numpy实现二维数组和一维数组拼接的方法” 的攻略。 一、numpy.concatenate()方法 使用numpy的方法concatenate()可以实现二维数组和一维数组拼接。例如,我们有一个2×3的二维数组和一个大小为3的一维数组: import numpy as np a = np.array([[1, 2, 3],…

    python 2023年6月6日
    00
  • python实现指定字符串补全空格、前面填充0的方法

    针对这个问题,我给出以下攻略: 说明 在Python中,字符串类型提供了一些内置方法,通过这些方法可以实现对字符串的操作,包括删除、拼接、替换、格式化等等。其中,空格补全和前面填充0是一种常用的字符串处理方法,可以用来格式化字符串,例如格式化输出日志信息、处理时间等等。 空格补全 通过使用字符串的str.ljust()、str.rjust()和str.cen…

    python 2023年6月5日
    00
  • 你们要的Python绘画3D太阳系详细代码

    下面我将为你详细讲解如何实现 Python 绘画 3D 太阳系,并提供两条示例说明。 1. 准备工作 首先,需要安装以下依赖库: numpy matplotlib mpl_toolkits.mplot3d time 可以通过以下命令进行安装: !pip install numpy matplotlib mpl_toolkits.mplot3d 2. 代码实现…

    python 2023年5月18日
    00
  • 爬虫是什么?浅谈爬虫及绕过网站反爬取机制

    爬虫是什么? 爬虫是一种自动获取网站上数据的程序。通俗来讲,爬虫就是在模拟人的操作,去访问网站,获取需要的信息。爬虫可以自动化地爬取数据、分析数据、存储数据等,大大提高了数据获取和处理的效率。 浅谈爬虫及绕过网站反爬机制 爬虫的分类 爬虫根据其实现技术和应用场景,可以分为多种类型,包括通用爬虫和聚焦爬虫、静态网页爬虫和动态网页爬虫、逆向爬虫和贴心爬虫等。 其…

    python 2023年5月14日
    00
  • Python实现模拟登录及表单提交的方法

    Python实现模拟登录及表单提交是一种常见的自动化测试方法,可以帮助我们更好地测试网站的功能和稳定性。本文将介绍如何使用Python实现模拟登录及表单提交,并提供两个示例。 1. 使用requests库实现模拟登录 我们可以使用requests库实现模拟登录。以下是一个示例,演示如何使用requests库实现模拟登录: import requests lo…

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