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

yizhihongxing

获取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 提供了 threading 模块来实现多线程和锁机制。 一、什么是锁? 锁是一种同步机制,用来保护共享资源不被并发访问。在多线程环境下,如果没有锁机制,多个线程同时访问同一个共享变量,就会导致数据不一致的问题。比如,一个…

    python 2023年5月19日
    00
  • 在 Python 中使用参数获取用户输入

    【问题标题】:Get user input with arguments in Python在 Python 中使用参数获取用户输入 【发布时间】:2023-04-02 14:29:01 【问题描述】: TL;DR 我需要获取包含参数的用户输入才能做某事,我需要自己的脚本来获取用户输入,并且就像它自己的解释器一样工作。 我的目标是使用自己的命令创建自己的 C…

    Python开发 2023年4月8日
    00
  • python入门之基础语法学习笔记

    以下是关于“Python入门之基础语法学习笔记”的完整攻略: 问题描述 Python 是一种高级编程语言,易于学习和使用。本将介绍 Python 的基础语法,包括变量、数据类型、运算符、条件句、循环语句等。 解决方法 1. 变量 在 Python 中,变量是用来存储数据的容器。可以使用赋值语句来创建变量。示例代码如下: x = 10 y = "He…

    python 2023年5月13日
    00
  • Python中的time模块与datetime模块用法总结

    下面是关于“Python中的time模块与datetime模块用法总结”的完整攻略。 time模块的用法 时间戳(timestamp) 时间戳代表从1970年1月1日(UTC/GMT的午夜)开始计算的秒数。Python中使用time.time()生成当前时间的时间戳。 import time timestamp = time.time() print(tim…

    python 2023年6月2日
    00
  • python实现随机漫步方法和原理

    为了实现随机漫步,我们需要做以下三件事: 定义步数、漫步起点和漫步过程 写代码实现随机漫步 使用matplotlib将数据可视化 1. 定义步数、漫步起点和漫步过程 在漫步模拟中,我们需要定义一个起点,并以随机方式进行步行。步数是程序决定的,但通常为1000步。随机漫步的过程是随机地选择将向上、向下、向左或向右前进。我们来看一个例子: 首先,定义一个名为Ra…

    python 2023年5月19日
    00
  • python列表推导式的原理及使用方法

    Python列表推导式 Python的列表推导式(List Comprehensions)可以通过一条简洁的语句来构建一个列表。列表推导式不仅简洁,而且速度非常快,非常适用于需要从一些数据中快速构建列表的场景。 原理 Python列表推导式的语法结构为: [expression for item in iterable if condition] 其中,ex…

    python 2023年5月18日
    00
  • Python numpy.broadcast_to()函数

    以下是Python numpy.broadcast_to()函数的详细攻略。 numpy.broadcast_to() 函数 numpy.broadcast_to() 函数将数组广播到新形状。它在原始数组上返回只读视图,不改变原始数组。 语法 numpy.broadcast_to(array, shape, subok=False) 参数说明 array:要…

    python-answer 2023年3月25日
    00
  • Python疫情数据可视化分析

    让我们来详细讲解一下Python疫情数据可视化分析的完整攻略吧。 简介 疫情数据是目前热门话题之一,通过可视化分析可以更好地呈现数据,并对疫情走向进行预测和分析。在本文中,我们会详细介绍如何使用Python进行疫情数据的可视化分析。 准备工作 在我们开始进行数据分析之前,需要先安装一些必要的Python库,主要包括: pandas:用于数据处理和清洗。 ma…

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