Python爬虫下载whois server字典和whois自动化查询

上篇文章主要介绍了python通过socket查询whois的方法,涉及Python基于socket模块进行查询的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下    http://www.cnblogs.com/zhangmengqin/p/9144022.html

敲黑板!!!

 每个域名后缀 对应的 whois server都是不一样的! 

那么 我怎么知道我要查询的域名后缀对应的whois server??

别急 这里有宝贝----  https://www.iana.org/domains/root/db  ( 这里有全世界各种后缀的whois server ,随便找一个点进去)

例如我点击这个:

这个 后缀 必须要 对应这个whois server

域名的后缀有几千个,我要手工获取所有后缀及其对应的whois server 那不是手都要废了……

然而我立马想到了Python爬虫,在本地做成字典 这样就很方便了。到时候匹配这个字典的key就可以自动获取对应的  whois server进行查询

1.首先我们获取 https://www.iana.org/domains/root/db  里全世界的域名后缀

 1 import requests
 2 from bs4 import BeautifulSoup
 3
 4 iurl = ‘https://www.iana.org/domains/root/db‘
 5 res = requests.get(iurl,timeout=600)
 6 res.encoding = ‘utf-8‘
 7 soup = BeautifulSoup(res.text,‘html.parser‘)
 8 list1=[]
 9 list2=[]
10 jsonStr={}
11 for tag in soup.find_all(‘span‘, class_=‘domain tld‘):
12    d_suffix = tag.get_text()
13    print(d_suffix)

用到的是BeautifulSoup,好处就是不用自己写正则,只要根据他的语法来写就好了,在多次的测试之后终于完成了数据的解析

2.通过获取的域名后缀获取他们的whois server 并保存在本地文件

 1 import requests
 2 from bs4 import BeautifulSoup
 3 import re
 4 import time
 5
 6 iurl = ‘https://www.iana.org/domains/root/db‘
 7 res = requests.get(iurl,timeout=600)
 8 res.encoding = ‘utf-8‘
 9 soup = BeautifulSoup(res.text,‘html.parser‘)
10 list1=[]
11 list2=[]
12 jsonStr={}
13 for tag in soup.find_all(‘span‘, class_=‘domain tld‘):
14    d_suffix = tag.get_text()
15    print(d_suffix)
16    list2.append(d_suffix)
17    n_suffix = d_suffix.split(‘.‘)[1]
18    new_url = iurl + ‘/‘ + n_suffix
19    server=‘‘
20    try:
21         res2=requests.get(new_url,timeout=600)
22         res2.encoding=‘utf-8‘
23         soup2= BeautifulSoup(res2.text,‘html.parser‘)
24
25         retxt = re.compile(r‘<b>WHOIS Server:</b> (.*?)\n‘)
26         arr = retxt.findall(res2.text)
27         if len(arr) > 0:
28              server = arr[0]
29              list2.append(server)
30         print(server)
31         time.sleep(1)
32    except Exception as e:
33          print(‘超时‘)
34
35    with open(‘suffixList.txt‘, "a",encoding=‘utf-8‘) as my_file:
36        my_file.write(n_suffix + ":" + server+‘\n‘)
37
38 print(‘抓取结束!!!‘)

上边这点代码下来,着实花费了我不少时间,边写边调试,边百度~~不过还好最终还是出来了。等数据都整理好之后,然后我把它保存到了txt文件里面。

因为获取到的是html页面样式,所以想到的是一层层去解析,没想到用正则这么简单!看来小白确实得扎实基础哦~

3.随机输入任何一个后缀或域名,能自动查询whois

 1 temp = input(‘请输入你要查询的域名:‘)
 2 result = temp.split(‘.‘)[0]
 3 result1=temp.split(‘.‘)[1]
 4 r_suf=‘.‘+result1
 5 print(type(r_suf))
 6 # print(result)
 7 print(r_suf)
 8
 9 # d = json.dumps(dictionary)
10 whois_server =dictionary.get(r_suf)
11 print(whois_server)
12 print(type(whois_server))
13
14 if whois_server is None:
15     print(r_suf + ‘此后缀出小差啦~‘)
16 else:
17
18     s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
19     s.connect((whois_server, 43))
20     temp=( temp +‘\r\n‘).encode()
21     s.send(temp)
22     response = b‘‘
23     while True:
24         data = s.recv(4096)
25         response += data
26         if not data:
27             break
28     s.close()
29     print(response.decode())

纸上得来终觉浅,绝知此事要躬行。这句话一点没错,看和做真是两码事。这里百度一下,那里google一下,问题就解决了,程序也出来了,最主要是要动手动手动手!

https://whois.22.cn/  你也可以直接进行查询的哦。

原文地址:https://www.cnblogs.com/zhangmengqin/p/9167358.html

时间: 2024-10-29 07:08:41

Python爬虫下载whois server字典和whois自动化查询的相关文章

Python爬虫下载美女图片(不同网站不同方法)

声明:以下代码,Python版本3.6完美运行 一.思路介绍 不同的图片网站设有不同的反爬虫机制,根据具体网站采取对应的方法 1. 浏览器浏览分析地址变化规律 2. Python测试类获取网页内容,从而获取图片地址 3. Python测试类下载图片,保存成功则爬虫可以实现 二.豆瓣美女(难度:?) 1.  网址:https://www.dbmeinv.com/dbgroup/show.htm 浏览器里点击后,按分类和页数得到新的地址:"https://www.dbmeinv.com/dbgrou

python爬虫下载youtube单个视频

__author__ = 'Sentinel'import requestsimport reimport jsonimport sysimport shutilimport urlparse """ youtube """reload(sys)sys.setdefaultencoding('utf-8')res = requests.get('https://www.youtube.com/watch?v=3ZyVeyWV59U')html =

利用Python编写网络爬虫下载文章

#coding: utf-8 #title..href... str0='blabla<a title="<论电影的七个元素>——关于我对电影的一些看法以及<后会无期>的一些消息" target="_blank" href="http://blog.sina.com.cn/s/blog_4701280b0102eo83.html"><论电影的七个元素>——关于我对电…</a>' impo

Python 爬虫批量下载美剧 from 人人影视 HR-HDTV

本人比較喜欢看美剧.尤其喜欢人人影视上HR-HDTV 的 1024 分辨率的高清双字美剧,这里写了一个脚本来批量获得指定美剧的全部 HR-HDTV 的 ed2k下载链接.并依照先后顺序写入到文本文件,供下载工具进行批量下载.比方用迅雷.先打开迅雷,然后复制全部下载链接到剪切板,迅雷会监视剪切板来新建全部任务.假设迅雷没有自己主动监视,能够自己点击新建然后粘贴链接.Python源码例如以下.用的是Python3 : # python3 实现,以下的实例 3 部美剧爬完大概要 10 s import

python爬虫主要就是五个模块:爬虫启动入口模块,URL管理器存放已经爬虫的URL和待爬虫URL列表,html下载器,html解析器,html输出器 同时可以掌握到urllib2的使用、bs4(BeautifulSoup)页面解析器、re正则表达式、urlparse、python基础知识回顾(set集合操作)等相关内容。

本次python爬虫百步百科,里面详细分析了爬虫的步骤,对每一步代码都有详细的注释说明,可通过本案例掌握python爬虫的特点: 1.爬虫调度入口(crawler_main.py) # coding:utf-8from com.wenhy.crawler_baidu_baike import url_manager, html_downloader, html_parser, html_outputer print "爬虫百度百科调度入口" # 创建爬虫类class SpiderMai

python爬虫实战——5分钟做个图片自动下载器

python爬虫实战--图片自动下载器 制作爬虫的基本步骤 顺便通过这个小例子,可以掌握一些有关制作爬虫的基本的步骤. 一般来说,制作一个爬虫需要分以下几个步骤: 分析需求(对,需求分析非常重要,不要告诉我你老师没教你) 分析网页源代码,配合F12(没有F12那么乱的网页源代码,你想看死我?) 编写正则表达式或者XPath表达式(就是前面说的那个神器) 正式编写python爬虫代码 效果 运行: 恩,让我输入关键词,让我想想,输入什么好呢?好像有点暴露爱好了. 回车 好像开始下载了!好赞!,我看

【图文详解】python爬虫实战——5分钟做个图片自动下载器

python爬虫实战--图片自动下载器 之前介绍了那么多基本知识[Python爬虫]入门知识,大家也估计手痒了.想要实际做个小东西来看看,毕竟: talk is cheap show me the code! 制作爬虫的基本步骤 顺便通过这个小例子,可以掌握一些有关制作爬虫的基本的步骤. 一般来说,制作一个爬虫需要分以下几个步骤: 1. 分析需求(对,需求分析非常重要,不要告诉我你老师没教你) 2. 分析网页源代码,配合F12(没有F12那么乱的网页源代码,你想看死我?) 3. 编写正则表达式或

python爬虫3——获取审查元素(板野友美吧图片下载)

测试环境:python2.7 + beautifulsoup4.4.1 + selenium2.48.0 测试网址:http://tieba.baidu.com/p/2827883128 目的是下载该网页下所有图片,共160+张.可以分为以下几步: 1.获取网页源代码. 发现直接通过urllib2或者request获取到的源代码和实际图片对应不起来,通过chrome审查元素功能可以查询到对应的图片,猜测是该页面的图片加载是通过ajax异步传输的.因此使用工具selenium + chromedr

python实现爬虫下载美女图片

python实现爬虫下载美女图片 本次爬取的贴吧是百度的美女吧,给广大男同胞们一些激励 在爬取之前需要在浏览器先登录百度贴吧的帐号,各位也可以在代码中使用post提交或者加入cookie 爬行地址:http://tieba.baidu.com/f?kw=%E7%BE%8E%E5%A5%B3&ie=utf-8&pn=0 #-*- coding:utf-8 -*- import urllib2 import re import requests from lxml import etree 这