python之扫描本地信息到Solr服务

来源:互联网 发布:苹果7手机搜不到4g网络 编辑:程序博客网 时间:2024/05/17 02:22

##scan_to_solr.py


#-*-coding:utf-8-*-import urllibimport os,sys,reimport urllib2,httplibimport threadingimport timeurlMap = {}gEnd = FalsegExit = FalsegOK = 0gErr = 0reload(sys)#sys.setdefaultencoding('utf-8')sys.setdefaultencoding('gbk')gCount = 0gErrorList = []gErrNumber = 0def getUrl(url):    try:        return urllib2.urlopen(url,timeout=240).read()    except:        print "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXload error~"        return Nonedef addIndex(key,value):    url = u'http://192.168.4.60/baidu/src/addServer.php?ch=%s&jp=%s' % (key.decode("gbk"),value)    ret = getUrl(url.encode("utf-8"))    if ret != None:    return True    return Falsedef getList(dirname,pFunc):    try:        ls=os.listdir(dirname)    except:        print dirname,'is access deny'    else:        for file in ls:            temp = os.path.join(dirname,file)            if(os.path.isdir(temp)):                getList(temp,pFunc)            else:                pFunc(dirname,file)"""    callBack Function """def doAddFile(dir,file):    global gCount    global urlMap,gOK,gErr,gErrNumber,gErrorList    if file == "entries" or file == "toIndex.py" or file == "index.txt":    return    if re.search("(.ppt|.pptx|.xls|.txt|.doc|.vsd|.pdf|.rar|.xlsx|.zip|.docx|.tar|.gz|.iso|.rpm|.sql)$",file):gCount = gCount + 1dir = dir.replace("\\","/")svnUrl = 'svn://192.168.0.248:9997/DOC/' + u'软件部/'anchor = "%s%s" % (svnUrl,dir[11:].decode("gbk"))print filefile = file.replace(" ","")print "###############"print fileprint "###############(%d)" % (gCount)ret = addIndex(file,anchor)if ret == True:gOK = gOK + 1print "OOO KKK(%d)\n" % (gOK)time.sleep(1)else:gErr = gErr + 1print "NNN GGG(%d)\n" % (gErr)addIndex(key,value)"""    Main Inport"""print "\n============================== Begin ScanDir ========================================"getList(os.getcwd(),doAddFile)print "ScanFile(%d)" % (gCount)print "\n========================================================================================"print "OK(%d) ,Error(%d)" % (gOK, gErr)


@@用法说明

scan_to_solr.py

扫描本地文件提交到Solr的模糊检索服务中

0 0
原创粉丝点击