域名解析是把域名指向网站空间IP,让人们通过注册的域名可以方便地访问到网站的一种服务;IP地址是网络上标识站点的数字地址,为了方便记忆,采用域名来代替IP地址标识站点地址。域名解析就是域名到IP地址的转换过程,该过程由DNS服务器完成(来自百度百科)
先来了解两个知识点
1、一个域名同一时刻只能对应一个IP地址
2、一个IP地址可以解析绑定多个域名,没有限制
基于以上知识点,假如我们已知一个IP地址,我们怎么才能获取解析到该IP地址的所有域名信息呢?一种方式是国家工信部能开放查询接口以供查询(不知道会不会开放?);另外一种方式就是接下来我要分享的——爬虫实现:根据IP地址反查域名。
实现原理其实很简单,现在已有网站提供了根据IP地址查询域名的功能,但是需要人为登录网站输入IP地址查询,我想要实现程序自动化查询,所以就想到了爬虫的方式,简单来说,就是模拟人的查询行为,将查询结果解析成我想要的域名列表。
以为例,打开,输入一个IP查询,观察控制台请求,看到下图中信息
请求地址为:http://site.ip138.com/119.75.217.109/
请求方式为:GET
然后,分析Response,可以看到,在页面上看到的绑定域名信息就是下图红框中<span>的内容,所以只要能将Response的内容解析出来,获取到<span>的内容就可以得到想要的域名列表。
上述Response是HTML页面,使用来解析HTML简直完美。
jsoup 是一款Java 的HTML解析器,可直接解析某个URL地址、HTML文本内容。它提供了一套非常省力的API,可通过DOM,CSS以及类似于jQuery的操作方法来取出和操作数据。
result的内容通过HttpClient模拟HTTP请求
HTTP请求工具类
新增Controller
启动Spring Boot应用,访问浏览器:http://localhost:8080/spider/119.75.217.109
获得返回结果如下:
怎么样?是不是很简单?
优化改进:有时候仅仅通过一个网站查询的域名数据可能不太准确,甚至查询不到数据,我们也没法判断谁才是正确的,所以,可以通过爬取多个网站的结果结合起来使用,例如:
本文地址:http://lianchengexpo.xrbh.cn/quote/10530.html 迅博思语资讯 http://lianchengexpo.xrbh.cn/ , 查看更多- 1001百度投放广告怎么样收费?百度广告收费标准是怎样的?
- 1002Docker入门
- 1003考试题库APP开发功能及盈利模式分析
- 1004脸上“小疙瘩”老去不掉?这货不敢再用了,脸滑到男朋友狂摸!
- 1005财报中存量与流量之间的关系
- 1006软件演示
- 1007有氧运动对人体有什么好处
- 1008桂林4天自由行路线大全,四天三夜旅游攻略尽享地道体验
- 1009秘塔写作猫ai写作重复率