Esempio n. 1
0
 def __init__(self, html):
     self.transurl = UrlTrans('../store/sortedurls.txt')
     self.html = html
     self.d = pq(html)
     self.d('script').remove()
     self.d('style').remove()
     reload(sys)
     sys.setdefaultencoding('utf-8')
Esempio n. 2
0
 def __init__(self,html):
     self.transurl=UrlTrans('../store/sortedurls.txt')
     self.html=html
     self.d=pq(html)
     self.d('script').remove()
     self.d('style').remove()
     reload(sys)
     sys.setdefaultencoding('utf-8')
Esempio n. 3
0
class collector():
    #用于从原料库中提取并加工出document 加入知识库
    #知识库中将包含用xml进行封装的各种信息
    def __init__(self,html):
        self.transurl=UrlTrans('../store/sortedurls.txt')
        self.html=html
        self.d=pq(html)
        self.d('script').remove()
        self.d('style').remove()
        reload(sys)
        sys.setdefaultencoding('utf-8')
       
        
    def clear_other_node(self):
        #print self.clearNode(self.body)
        self.d('head').remove()
        self.d('h1').remove()
        self.d('h2').remove()
        self.d('h3').remove()
        self.d('b').remove()
        self.d('a').remove()
    
    def a_trav(self,a):
        '将url转化为绝对url'
        item=a
        homepage='http://www.cau.edu.cn/lxy/'
        length=len(homepage)
        if item == None:   
            return 
        if item[0:4] == '\r\n':   
            item = item[4:]   
        if item[-1] == '/':   
            item = item[:-1]   
        elif item[0:5] == '/java' or item[0:4] == 'java':   
            pass  
        else:      
            if item[0] != '/':   
                item = '/' + item   
            item = homepage + item   
            return item    
        return item
    
    def pure(self):
        '返回纯文本 便于分词及词库生成'
        content=''
        content+=self.d('title').text()
        content+=self.d('a').text()
        content+=self.d('b').text()
        content+=self.d('body').text()
        return content

        

    def xml(self,docID):
        '返回xml源码'
        #通过docID 在sortedurls 中确定 tem_home_url
        self.transurl.setTemHomeUrl(docID) #确定tem_home_url
        str='<html></html>'
        titleText=self.d('title').text()
        self.dd=dom.parseString(str)
        #print self.dd
        html=self.dd.firstChild
        #生成title
        htmlCtrl=htmlctrl(self.d.html())
        title=self.dd.createElement('title')
        html.appendChild(title)
        title.setAttribute('text',titleText)
        #生成b
        bb=htmlCtrl.gNode('b')
        b=self.dd.createElement('b')
        for i in bb:
            ii=self.dd.createElement('item')
            ii.setAttribute('text',i)
            b.appendChild(ii)
        html.appendChild(b)
        #生成h1
        bb=htmlCtrl.gNode('h1')
        b=self.dd.createElement('h1')
        for i in bb:
            ii=self.dd.createElement('item')
            ii.setAttribute('text',i)
            b.appendChild(ii)
        html.appendChild(b)
        #生成h2
        bb=htmlCtrl.gNode('h2')
        b=self.dd.createElement('h2')
        for i in bb:
            ii=self.dd.createElement('item')
            ii.setAttribute('text',i)
            b.appendChild(ii)
        html.appendChild(b)
        #生成h3
        bb=htmlCtrl.gNode('h3')
        b=self.dd.createElement('h3')
        for i in bb:
            ii=self.dd.createElement('item')
            ii.setAttribute('text',i)
            b.appendChild(ii)
        html.appendChild(b)
        #生成a
        aa=htmlCtrl.gA()
        a=self.dd.createElement('a')
        for i in aa:
            #i=self.transurl.trans_d(i) #对url转化为标准绝对地址
            aindex=self.dd.createElement('item')
            aindex.setAttribute('name',i)
            #aindex.setAttribute('href',self.a_trav(aa[i]))
            aindex.setAttribute('href',self.transurl.trans_d(aa[i]))
            a.appendChild(aindex)
        html.appendChild(a)
        #加入content
        htmltext=self.d.html().decode('gbk','ignore').encode('utf-8')
        ht=pq(htmltext)
        #bug 说明
        #此处  需啊注意 其中有html的特殊字符   &# 等等
        #在分词的时候另外说明
        content=ht.text()
        cc=self.dd.createElement('content')
        ctext=self.dd.createTextNode(content)
        cc.appendChild(ctext)
        html.appendChild(cc)
        
        #print self.dd.toprettyxml()
        return self.dd
Esempio n. 4
0
class collector():
    #用于从原料库中提取并加工出document 加入知识库
    #知识库中将包含用xml进行封装的各种信息
    def __init__(self, html):
        self.transurl = UrlTrans('../store/sortedurls.txt')
        self.html = html
        self.d = pq(html)
        self.d('script').remove()
        self.d('style').remove()
        reload(sys)
        sys.setdefaultencoding('utf-8')

    def clear_other_node(self):
        #print self.clearNode(self.body)
        self.d('head').remove()
        self.d('h1').remove()
        self.d('h2').remove()
        self.d('h3').remove()
        self.d('b').remove()
        self.d('a').remove()

    def a_trav(self, a):
        '将url转化为绝对url'
        item = a
        homepage = 'http://www.cau.edu.cn/lxy/'
        length = len(homepage)
        if item == None:
            return
        if item[0:4] == '\r\n':
            item = item[4:]
        if item[-1] == '/':
            item = item[:-1]
        elif item[0:5] == '/java' or item[0:4] == 'java':
            pass
        else:
            if item[0] != '/':
                item = '/' + item
            item = homepage + item
            return item
        return item

    def pure(self):
        '返回纯文本 便于分词及词库生成'
        content = ''
        content += self.d('title').text()
        content += self.d('a').text()
        content += self.d('b').text()
        content += self.d('body').text()
        return content

    def xml(self, docID):
        '返回xml源码'
        #通过docID 在sortedurls 中确定 tem_home_url
        self.transurl.setTemHomeUrl(docID)  #确定tem_home_url
        str = '<html></html>'
        titleText = self.d('title').text()
        self.dd = dom.parseString(str)
        #print self.dd
        html = self.dd.firstChild
        #生成title
        htmlCtrl = htmlctrl(self.d.html())
        title = self.dd.createElement('title')
        html.appendChild(title)
        title.setAttribute('text', titleText)
        #生成b
        bb = htmlCtrl.gNode('b')
        b = self.dd.createElement('b')
        for i in bb:
            ii = self.dd.createElement('item')
            ii.setAttribute('text', i)
            b.appendChild(ii)
        html.appendChild(b)
        #生成h1
        bb = htmlCtrl.gNode('h1')
        b = self.dd.createElement('h1')
        for i in bb:
            ii = self.dd.createElement('item')
            ii.setAttribute('text', i)
            b.appendChild(ii)
        html.appendChild(b)
        #生成h2
        bb = htmlCtrl.gNode('h2')
        b = self.dd.createElement('h2')
        for i in bb:
            ii = self.dd.createElement('item')
            ii.setAttribute('text', i)
            b.appendChild(ii)
        html.appendChild(b)
        #生成h3
        bb = htmlCtrl.gNode('h3')
        b = self.dd.createElement('h3')
        for i in bb:
            ii = self.dd.createElement('item')
            ii.setAttribute('text', i)
            b.appendChild(ii)
        html.appendChild(b)
        #生成a
        aa = htmlCtrl.gA()
        a = self.dd.createElement('a')
        for i in aa:
            #i=self.transurl.trans_d(i) #对url转化为标准绝对地址
            aindex = self.dd.createElement('item')
            aindex.setAttribute('name', i)
            #aindex.setAttribute('href',self.a_trav(aa[i]))
            aindex.setAttribute('href', self.transurl.trans_d(aa[i]))
            a.appendChild(aindex)
        html.appendChild(a)
        #加入content
        htmltext = self.d.html().decode('gbk', 'ignore').encode('utf-8')
        ht = pq(htmltext)
        #bug 说明
        #此处  需啊注意 其中有html的特殊字符   &# 等等
        #在分词的时候另外说明
        content = ht.text()
        cc = self.dd.createElement('content')
        ctext = self.dd.createTextNode(content)
        cc.appendChild(ctext)
        html.appendChild(cc)

        #print self.dd.toprettyxml()
        return self.dd