# coding=utf-8
"""
IP反查小工具
https://dns.aizhan.com/103.31.53.96/
"""
import socket
from urllib.parse import urlparse
import urllib3
import json
from bs4 import BeautifulSoup
import requests
urllib3.disable_warnings()headers_aizhan = {"Host": "dns.aizhan.com","User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.159 Safari/537.36","Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8","Accept-Language": "zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2","Accept-Encoding": "gzip, deflate, br","Referer": "https://dns.aizhan.com/",
}def get_ip_from_domain(url: str = "http://www.teacheredu.cn"):"""将 域名 转化成 IP:param url::return:"""# 获取域名,或者是域名对应的不带端口的纯 IPres_ips = urlparse(url).hostname# 解析域名为 纯IPres_ip = socket.gethostbyname(res_ips)return res_ipdef get_domain_from_ip():"""将 IP 转换成 域名:return:"""url_info_list = []res_ip = get_ip_from_domain()# print(res_ip)# 引用 爱站 查询 IP 对应的域名r = requests.get(f"https://dns.aizhan.com/{res_ip}/", headers=headers_aizhan)res_text = r.text# BeautifulSoup 将复杂的 html 文档,转换成 复杂的 python 对象树soup = BeautifulSoup(res_text, "html.parser")res_list = soup.find_all("td")for i in res_list:url_info = {}if i.a:url_info["url"] = i.a["href"]url_info["domain"] = str(i.a.string)num_res = res_list.index(i)next_value = res_list[num_res + 1]for u in next_value["class"]:if str(u) == "title":url_info["title"] = str(next_value.span.string)url_info_list.append({res_ip: url_info})# print(json.dumps(url_info_list, indent=4, ensure_ascii=False))return json.dumps(url_info_list, indent=4, ensure_ascii=False)if __name__ == '__main__':print(get_domain_from_ip())

2021-09-13-域名和IP相互转换相关推荐

  1. 实习日志 (2021.09.13)

    2021.09.13星期一 今天把之前的算法题终于给弄明白了,并能够按照自己的思路去把他给完成,总结这个题目并不是很难,最重要的是要把链表给弄懂,一开始由于我对链表不是很熟悉,导致我在写该题目的时候花 ...

  2. linux/windows_ip查看(公网ip/私网ip)/通过域名查找ip/解读tracert 的返回结果

    linux/windows_ip查看(公网ip/私网ip)/通过域名查找ip/解读tracert 的返回结果 references [How to Check the IP Address in Li ...

  3. 橘子CPS联盟操作手册2021.09

    橘子CPS联盟操作手册2021.09 目录 橘子CPS联盟操作手册2021.09 橘子CPS联盟是干嘛的 橘子CPS基本操作流程 PC端操作 1.注册 2.登陆 3.渠道管理 4.分享网站 5.分享网 ...

  4. 【错误记录】GitHub 提交代码失败、获取代码失败、连接超时、权限错误、ping 请求连接超时 ( 查找域名对应 IP | 设置 host 文件 )

    文章目录 一. 报错信息 二. 解决方案 ( 查找域名 ) 三. 解决方案 ( 测试 IP 地址 ) 四. 解决方案 ( 配置 hosts ) 网上有很多类似的解决方案 , 给出了一个 hosts 配 ...

  5. 信息收集之域名、IP互查

    目的 Linux下通过shell终端查询某域名的IP地址.通过IP地址查询绑定的域名.并 整理返回结果,创建python工具. 环境 linux + 命令行 工具 1. ping 2. host 3. ...

  6. 到底怎么查询域名的IP?(强大的查询网站)

    我是目录 前言 最简单查询 强大的查询网站 www.ipaddress.com sitereport.netcraft.com 前言 平时都是通过域名的方式来访问网址,有的时候为了DNS能够快速地对网 ...

  7. 一文看懂:网址,URL,域名,IP地址,DNS,域名解析

    今天给大家梳理一篇关于网址.URL.IP地址.域名.DNS.域名解析的白话长文,并以简单的提问-解答形式让读者更加深刻理解网址.URL.IP地址.域名.DNS.域名解析,希望有助于读者的学习,面试和工 ...

  8. 哔哩哔哩“2021.07.13 我们是这样崩的”报告的学习-1

    哔哩哔哩"2021.07.13 我们是这样崩的"报告的学习-1 这份报告是我学计算机两年来第一次真实看到大厂的员工到底在干什么.出现了很多专有名词,以及当前最先进的互联网企业的应用 ...

  9. DNS这位“翻译官”是如何转换域名和IP地址的?

    DNS这位"翻译官"是如何转换域名和IP地址的? Linux就该这么学 1周前 DNS( Domain Name System)是"域名系统"的英文缩写,是一种 ...

  10. 如何查找域名对应IP地址?

    在windows系统下如何查找域名对应IP地址? 利用windows自带的命令提示框,首先windows+R打开命令提示框,输入cmd 方法一: 在命令提示框内输入ping+空格+域名地址 如图,11 ...

最新文章

  1. YARN的内存和CPU配置优化
  2. 关于U盘安装ubuntu-18.04安装时候出现的grub-efi-amd64-signed的问题。
  3. jwt 私钥_什么是 JSON Web Token(JWT)
  4. SpringMVC入门(一)之HelloWorld(IDEA版)
  5. 卷积法求解系统的零状态响应_动态系统的建模与分析
  6. 循环 计算数值的整数次幂
  7. ibm服务器怎么装win7系统安装系统,教你thinkpad电脑重装win7系统
  8. RTP直播分发服务器集群方案
  9. PostgreSQL中的索引—7(GIN)
  10. 什么是5G承载网?【转载自微信公众号网络技术联盟站】
  11. cad渐开线齿轮轮廓绘制_CAD渐开线齿形怎么绘制
  12. Visio 去交点处跨线
  13. 一些完整的Android开源app项目
  14. 远程连接服务器软件——十大常见的服务器管理软件
  15. 国内网站用香港服务器会被封吗?
  16. MySql查询某年某月所有数据
  17. 【小技巧】一些matlab中常用的快捷键使用总结
  18. codeblock 常见问题
  19. 传导发射(CE)测试概述
  20. Zabbix监控自定义模板,自定义监控项以及图标显示

热门文章

  1. java仿射密码加解密实现,仿射密码-Affine cipher
  2. elasticsearch kibana简单查询
  3. Nginx反向代理多个域名
  4. 修改或注册账号密码时屏蔽浏览器已保存账户密码弹框
  5. android 6.0 连接电脑,华为mate7手机EMUI4.0安卓6.0连接电脑方法
  6. java获取短信验证码_Java如何获取短信验证码
  7. 判断线程池中某个线程是否执行完成
  8. Ubuntu18.04下安装QQ微信——亲测试有效!【同时解决微信不能发送图片问题】
  9. 杂记 - WSL2 局域网访问, 代理设置, IP设置(已集成工具)
  10. Python队列|一文看懂python队列的几种类型