1、python怎麼判斷某個域名是頂級域名還是二級域名
比如:baidu.com 這是百度的頂級域名
.baidu.com 這是二級域名
www.baidu.com這也是二級域名
..baidu.com 這是三級域名
*.baidu.com 這是泛域名
習慣上這樣區分,一般不稱謂一級域名。個別人說指的一級域名就是頂級域名。
2、python 如何獲取url信息
window.location的 - 房產說明
哈希設置或獲取href屬性細分中的「#」後面的井號。
主機設置或獲取主版機名和埠號,地點或網址權。
主機名設置或獲取位置或URL的主機名部分。
的href設置或獲取整個URL字元串。
路徑名設置或指定文件名或路徑。
埠設置或獲取與埠號相關聯的URL。 URL的
協議設置或獲取協議部分。搜索列表設置或獲取href屬性部分後面的問號。
作為window.location.href設置或獲取整個URL字元串。
3、python如何獲得區域網內所有用戶名
既然區域網了,那就區域網ip范圍基本可以確定,那就可以循環ping或者利內用工具python-nmap,可以獲取hostname,
http://pypi.python.org/pypi/python-nmap,我新容手順便跟著學習了
4、python的urllib2怎麼獲取響應頭的content-type?
以下是獲取響應頭的content-type的具體方程組:
5、python的urllib2怎麼獲取響應頭的content-type
以下是來獲取響應頭的content-type的具體自方程組:
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獲取到網站的所有url
你只要抓屏,速度快了肯定要消耗cpu的。別說是python,就是用c寫也是一樣的。
抓屏函數在版windows里有就有權了。似乎是窗口句柄設置為0時就是整個屏幕。
純python代碼就不要想了,一定是通過第三方庫。通過pywin32調用windows的api可以實現,也算是純python代碼吧。
8、python 獲取域名是泛域名還是實際域名
使用urllib.parse.urlparse(url).hostname獲取域名,通過socket.gethostbyname(域名)獲取IP地址,再通過socket.gethostbyaddr(ip地址就可以得到)真實的hostname了。 代碼示例 python3.x: import urllib.parseimport socketurl = '你要獲取的網...
9、python如何提取文件名字?
一般完整的文件為:「文件名」.「文件格式」,可以通過「.」來獲取文件名。
import os
file_name=[]
str_file=os.getcwd()#當前腳本專路徑
for dirpaths, dirnames, filenames in os.walk(str_file):
for filename in filenames:
if "." in filename:
filename=filename.split(".")[0]#以「.」為分割點獲屬取文件名
file_name.append(filename)
print file_name
10、怎麼使用python獲取網站的子鏈接
可以復使用制urllib
import urllib