導航:首頁 > IDC知識 > python製作域名

python製作域名

發布時間:2020-11-25 00:42:45

1、Python 將域名取出並進行計數排序

用生成器是否好點:

from urllib import parse
from collections import Counter

def parse_domain():
with open("c:\\a.txt",'rt') as f:
for l in f.readlines():
yield parse.urlparse(l)[1]

for k,v in Counter(parse_domain()).most_common():
print(v,k)

2、Python實現從url中提取域名的幾種方法

u

3、python3.5的怎麼通過域名知道網站所有者

一、域名查詢

萬網提供了域名查詢介面,介面採用HTTP協議:
介面URL:
介面參數:area_domain,介面參數值為標准域名,例:52bong.com
調用舉例:
返回:<?xml version="1.0" encoding="gb2312"?>
<property>
<returncode>200</returncode>
<key>52bong.com</key>
<original>211 : Domain exists</original>
</property>
返回結果說明:200 返回碼,200表示返回成功
52bong.com 表示當前查詢的域名
211 : Domain exists 返回結果的原始信息,主要有以下幾種

original=210 : Domain name is available 表示域名可以注冊
original=211 : Domain exists 表示域名已經注冊
original=212 : Domain name is invalid 表示查詢的域名無效
original=213 : Time out 查詢超時

Python實現

1.1 查詢已經被注冊的域名>>> import urllib2
[quote]>> req=urllib2.urlopen('h')
>>> print (req.read().decode())
返回結果:不可用,已經被注冊

1.2 查詢沒有被注冊的域名>>> req2=urllib2.urlopen('')
>>> print (req2.read().decode())
返回結果:可用,未被注冊

1.3 查詢不加後綴的域名>>> req3=urllib2.urlopen('')
>>> print (req3.read().decode())
返回結果:超時

二、whois查詢

由於沒有找到像域名查詢介面那樣好的API,這里直接抓取站長之家的whois查詢頁面)>>> whois = urllib2.urlopen('')
>>> print (whois.read().decode())
在返回的結果中有這樣一段html代碼,這段信息就是查詢的whois信息

4、有沒有可以像百度爬蟲一樣的python程序。把中國所有域名都採集保存下來。希望有大哥可以給我一份,

你表達的不是很清楚!
採集域名有啥用?
你是說採集每個正常運行的域名下的網站內容嗎?

但我得告訴,這個程序很多,搜索引擎很多人都寫過!但你得有硬體成本才行啊!中國啊,多少個網站!你如果你用單台電腦採集,估計你的從現在開始到你老死還採集不完!百度的伺服器數量已經數以萬計,懂嗎?

如果你只採集幾個特定的網站,還可以搞的定啊

5、python如何從網頁中提取列表中字典中的域名

假設那個字典叫dict:
if dict.has_key( line[0] ):
print dict[ line[0] ]

和列表一樣,用[ ]即可

6、如何使用多線程python掃描二級子域名

日站沒什麼好辦法了往往也會想到其二級域名,於是寫了一個比較簡陋的掃描二級域名的程序
速度一般般,不過如果線程開多了還是可以的
源程序(subdomain.py):

#! /usr/bin/env python
#coding=utf-8
import threading , Queue, optparse, os
import pycurl, StringIO, msvcrt, socket

queue = Queue.Queue()

class ScanThread(threading.Thread):

def __init__(self, queue):
threading.Thread.__init__(self)
self.queue = queue

def run(self):
while 1:
p = self.queue.get()
if p is None:
break
try:
sub_domain = p+'.'+domain
crl = pycurl.Curl()
crl.fa = StringIO.StringIO()
crl.setopt(pycurl.URL,sub_domain)
crl.setopt(pycurl.VERBOSE,0)
crl.setopt(pycurl.FOLLOWLOCATION,1)
crl.setopt(pycurl.MAXREDIRS,5)
crl.setopt(pycurl.CONNECTTIMEOUT, 60)
crl.setopt(pycurl.TIMEOUT, 300)
crl.setopt(crl.WRITEFUNCTION,crl.fa.write)
try:
crl.perform()
ip=socket.gethostbyname(sub_domain)
print sub_domain, ip
content = sub_domain+' '+ip+'\n'
self.writefile(wfile, 'a+', content)
except:
pass
except:
print "error"
self.writefile('F:/py/Domain/log.txt', 'a+', p+'\n')

queue.task_done()

def writefile(self, path, type, content):
f = open(path, type)
f.write(content)
f.close

class ThreadGetKey(threading.Thread):
def run(self):
while 1:
try:
chr = msvcrt.getch()
if chr == 'q':
print "stopped by your action ( q )"
os._exit(1)
else:
continue
except:
os._exit(1)

# now starting...

def main():
parser = optparse.OptionParser('Usages: %prog -d <domain> -r <read> -w <write> -t <thread(s)>')
parser.add_option('-d',dest='domain',type='string',help='the url to query')
parser.add_option('-r',dest='read',type='string',help='the dic file to read default=F:/py/Domain/dic.txt', default='F:/py/Domain/dic.txt')
parser.add_option('-w',dest='write',type='string',help='save the reasults to the catalogue \
default=F:/py/Domain/results.txt', default='F:/py/Domain/results.txt')
parser.add_option('-t',dest='threads',type='int',help='set the thread(s) default=10',default=10)
(options,args) = parser.parse_args()
if options.domain == None:
使用方法:
python subdomain.py -d baidu.com -r dic.txt -w results.txt -t 50
主要影響速度的是這一塊代碼:

try:
crl.perform()
ip=socket.gethostbyname(sub_domain)
print sub_domain, ip
content = sub_domain+' '+ip+'\n'
self.writefile(wfile, 'a+', content)
except:
pass

主要是一開始理解錯了,以為二級域名不存在和某個網頁不存在一樣會返回404代碼,於是想到用返回碼來判斷。
結果後來程序一直出錯,才發現當二級域名不存在的時候返回的是「未找到伺服器」,根本不存在返回碼,於是只能使用一個try來調試錯誤,主要速度也就被這里影響了。當然線程開多了也是可以看到刷屏效果的~~

7、python 獲取域名是泛域名還是實際域名

使用urllib.parse.urlparse(url).hostname獲取域名,通過socket.gethostbyname(域名)獲取IP地址,再通過socket.gethostbyaddr(ip地址就可以得到)真實的hostname了。 代碼示例 python3.x: import urllib.parseimport socketurl = '你要獲取的網...

8、python 怎麼將"<url testabc.good.com> This is a test url"中的域名替換為"abc.good.com"

import re
a = '<url testabc.good.com> This is a test url'
print re.sub("(?<=url )test",'',a)

9、如何用python優雅地掃描可用域名

用python-2.7.3\python是對的,但是你的hello.py放在那裡?你需要先用「cd 目錄名」轉換當前目錄到存放hello.py的地方,然後執行python-2.7.3\python hello.py。

10、python怎麼判斷某個域名是頂級域名還是二級域名

比如:baidu.com 這是百度的頂級域名

.baidu.com 這是二級域名

www.baidu.com這也是二級域名

..baidu.com 這是三級域名

*.baidu.com 這是泛域名

習慣上這樣區分,一般不稱謂一級域名。個別人說指的一級域名就是頂級域名。

與python製作域名相關的知識