python实现获取ip、网站备案信息、whois查询
生活随笔
收集整理的這篇文章主要介紹了
python实现获取ip、网站备案信息、whois查询
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1.根據域名獲取ip
注:這里的域名不能帶http頭
例如:www.baidu.com
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 Noneelse: #保存查詢到的信息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 icpInfo2.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 whoisInfoexcept:return None總結
以上是生活随笔為你收集整理的python实现获取ip、网站备案信息、whois查询的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python爬楼梯问题_爬楼梯算法的数学
- 下一篇: oracle utl file gran