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