本來(lái)是要寫(xiě)個(gè)程序用的,沒(méi)寫(xiě)完不寫(xiě)了,這一部分就貼出來(lái)吧
驗(yàn)證域名和IP
class JianKong(): '''查詢IDC信息,封ip和過(guò)白名單''' def __init__(self): pass @classmethod def ip_verify(cls,str): '驗(yàn)證IP地址規(guī)范' pattern=re.compile('(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])\.(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])\.(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])\.(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])') s=pattern.findall(str) if len(s)>0: ip=s[0][0]+'.'+s[0][1]+'.'+s[0][2]+'.'+s[0][3] return ip else: print 'IP格式不正確'#彈窗提醒 return '' @classmethod def domain_verify(cls,domainStr): '驗(yàn)證域名規(guī)范,返回合法域名列表' domainList=[] file=open('c:\domain.txt','r') domainType=file.readlines() #去重 domainType=list(set(domainType)) #print domainType file.close() #file=['com','ac','com.cn','net'+''] for line in domainType: #文件中動(dòng)態(tài)讀取每個(gè)頂級(jí)域名進(jìn)行匹配 line=line.strip() pattern=re.compile('([a-z0-9][a-z0-9\-]*?\.'+line+')(?:\s|$)+',re.S) #例如[a-z0-9][a-z0-9\-]*?\.com.cn(?:\s|$)+ 中(?:\s|$)表示域名后綴后面必須是空白符或者字符結(jié)束(?:)表示括號(hào)不用于分組功能 #防止.com.cn先匹配到.com即停止匹配導(dǎo)致錯(cuò)誤,或者匹配到.comc多了字符 result=pattern.findall(domainStr) if len(result)>0: #正確結(jié)果添加到返回列表 domainList=domainList+result #去重 domainList=list(set(domainList)) newList=[] for d in domainList: if d not in domainType and d+'\n' not in domainType: newList.append(d) return newList @classmethod def getDomainType(cls): '從工信部網(wǎng)站獲取所有合法域名后綴' file=open('c:/domain.txt','w') p=re.compile('class=\"by2\">\.(.*?)\?', re.S) for i in range(1,23): data='domainName=&domainBlur=0&page.pageSize=20&pageNo='+str(i)+'&jumpPageNo='+str(i) header={'Host':'www.miitbeian.gov.cn','Origin':'http://www.miitbeian.gov.cn','User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.157 UBrowser/5.5.6125.14 Safari/537.36','Referer':'http://www.miitbeian.gov.cn/basecode/query/queryDomain.action;jsessionid=HSTRWpLZbR0cX4vFkDpnpbNBYyRl4GwW1fxpyhdyc0fcfhkvJTBV!1139295987'} url='http://www.miitbeian.gov.cn/basecode/query/queryDomain.action;jsessionid=HSTRWpLZbR0cX4vFkDpnpbNBYyRl4GwW1fxpyhdyc0fcfhkvJTBV!1139295987' request=urllib2.Request(url,data,header) response=urllib2.urlopen(request) recv=response.read() s=p.findall(recv) #print s #去重 s=list(set(s)) for y in s: file.write(y+'\n') file.flush() #print str(i)+' '+y file.close() print '完畢'#彈窗完成
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元
