python实现获取ip、网站备案信息、whois查询

1.根据域名获取ip

注:这里的域名不能带http头
例如:www.baidu.com

def get_IP(domain):
    try:
        ip=socket.getaddrinfo(domain,'http')
        return ip[0][4][0]
    except:
        return None

2.根据域名查询网址备案信息

2.1 爬虫获取

注:这个是利用站长工具爬取的数据,访问量过大可能会导致ip被封

"""根据域名查询网站备案信息 """
def get_icp_info(domain):
        r=requests.session()
        icpInfo={}
        requ=r.post("http://icp.chinaz.com",{'type':'host','s':domain,'guid':'http://127.0.0.1/','code':'','havecode':0})
        icpInfo=get_web_info(requ.content)
        icpInfo["unit"]=str(icpInfo["unit"]).replace("\n查看截图","")
      #  icpInfo=json.dumps(icpInfo,ensure_ascii=False)   #转化成标准json串可以酌情删去
        return icpInfo
       
 '''解析网站文本内容获取备案消息并保存 '''
def get_web_info(content):
    doc=pq(content)
    item=doc("p")
    if item.eq(8).text()=="该域名被屏蔽":     #检测网站是否被屏蔽查询
        return None
    else:                   #保存查询到的信息
        icpInfo={}
        icpInfo.update({'unit':str(item.eq(9).text()).replace('使用高级查询纠正信息','')})
        icpInfo.update({'nature':str(item.eq(10).text())})
        icpInfo.update({'webIcp':str(item.eq(11).text()).replace('\n查看截图','')})
        icpInfo.update({'webName':str(item.eq(12).text())})
        icpInfo.update({'webIndex':str(item.eq(14).text())})
       # icpInfo.update({'verifyTime':str(item.eq(16).text())})      #该键值为网站备案的审核时间可酌情添加
        return icpInfo

2.2 通过api获取

注:所需库python-whois

import whois
def get_whois_info(domain):
    try:
       info=whois.whois(domain)   #Info返回了所有的whois查询信息,可根据需要选择想要提取的查询方法
       whoisInfo={}
       whoisInfo.update({'registrar':info['registrar']})
       whoisInfo.update({'emails':info['emails']})
       whoisInfo.update({'creationDate':str(info['creation_date'][0])})
       whoisInfo.update({'expirationDate':str(info['expiration_date'][0])})
       return whoisInfo
    except:
       return None
  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值