zoukankan      html  css  js  c++  java
  • 根据已知词表选出好词(直通车)

    直通车的选词优化。如何利用直通车后台信息选出匹配的基础好词。用python完成相应的思路,呈现出结果。
           我们都知道打造单品,引来精准流量,获取足够多的淘宝seo权重,直通车尤为重要,但是如何在直通车选词这个基础上不失误呢,下面介绍一个简单的方法。
          不管是下拉框,还是竞店转化词,还是top20万,生意参谋500词,下拉框等等。首先我们要有足够多的词去选。所以可以进行如下步骤选出比较好的词。
        1,选取首词集合wordSet.txt;里面词的数目特别多,但是不是非常匹配我们的产品,同样本身附带的点击转化都不是特别好。
        2,因为wordSet中很多词都不是特别匹配,那么我们要设定和自己产品匹配的词,所以我们选取元素 item.txt;把我们的元素都放在这个txt中,例如网布,时尚,简约,夏季,[核心类目词]等。
        3,为了在直通车中查询行情信息,减少工作量,尽量也不要重复选词。
    会出现重复选词的原因:直通车会对关键词加"子",忽视空格,单元切割;例如"电脑椅子 家用转椅"和"转椅电脑椅 家用"是同一个词。
         注意点:在程序实现中怎么实现这个处理——用set();oldSet = [];每次产生新的元素去掉空格和子的都往oldSet里面添加,同时用newSet记录下来该词。当再产生新的元素,去掉空格和"子";选择条件问它是否在这个集合oldSet中添加过了。若有pass否则添加。这个虽然不是很完美,但是解决了基本所有的情况,并且容易实现。
        4,在直通车后台的流量解析中对选择出来的关键词,调整信息取行业7天移动pc的参数信息;呈现到infomation.txt;每个关键词按照对应格式存储下来。这里不方便爬取,词又不是很多,所以直接选择的复制粘贴。
    关于这个文本处理,在我的这篇博客中有记录。直通车后台选词的文本处理 
        5,通过对应的正则匹配或者字符串切割,生成需要的信息进行存储,其中columns 对应词标的生成result.csv

    两个py文件,一个是1-3步骤(demo1.py),一个是4-5步骤(demo2.py);思路非常清晰。

    demo1.py __准备了两个备用txt文件(strings1,strings存储).

    def strToD(ss): 
        for x in range(len(ss)):
            ss[x] = ss[x].split('
    ')[0]  
        return ss  
    
    strings = open('F:\By\September\160918\resData\chooseOf2.txt').readlines();
    target066 = open('F:\By\September\160918\resData\item.txt').readlines();
    
    strings = strToD(strings)
    
    strings1 = strToD(open('F:\By\September\160918\resData\chooseOf.txt').readlines())
    
    target066 = strToD(target066)
    
    def setKw2066(strings,target066):   
        #存储目标字格
        target = set()
        for ss in target066:
            for s1 in ss:
                if(s1 in target):
                    pass
                else:
                    target.add(s1)
        
        result = []
        for string in strings:
            if((set(string) &target) == set(string) ):
                result.append(string)
        
        return result
    
    result = setKw2066(strings1,target066)
    
    result.extend(setKw2066(strings,target066))
    
    '''把result 写入文件'''
    def writeRes(result, string0 = 'res_kw', hz = None):
        file = open('F:\By\September\160918\resData\'+ string0 + '.txt', 'w+')
        for i in result:
            file.write(hz + i + hz)
            file.write('
    ')
        file.close
        
    ''' 开始去重 '''
    def uni2Kw(result):
        tt = []
        kk = []
        for x in result:
            if(set(x) not in tt):
                if('子' in set(x)):
                    set(x).remove('子')
                if(' ' in set(x)):
                    set(x).remove(' ')
                tt.append(set(x))
                kk.append(x)
            else:
                pass
        return kk
    
    kk = uni2Kw(result)
    
    writeRes(kk, 'infomation1', '——')
    demo2.py__其中setIndex.txt存储导出表格的头元素。

    import re
    import numpy as np
    import pandas as pd
    
    #去掉 “/n”
    def remove_n(l):
        for i in range(len(l)):
            l[i] = l[i].split('
    ')[0]
        return l
    
    
    set_wd = remove_n(open('F:\By\September\160918\resData\lib2\infomation.txt','r+').readlines())
    
    set_word = [] #index
    sss = []
    for i in range(len(set_wd)):
        if(set_wd[i] == ''):
            continue
        match_word = re.match(r'——(.*)——', set_wd[i], re.I|re.M)
        if(match_word):
            set_word.append(match_word.group(1))
            print ('读取到关键词[ '+ match_word.group(1) +' ]的信息')
           #sss.append(match_word.group(1))
        else:
            kk = set_wd[i].split(':')
            if(len(kk)<2):
                sss.append('设备')
            else:
                sss.append(kk[1])
    
    data = np.array(sss)
    data.shape = len(sss)/18,18
    
    columns = remove_n(open('F:\By\September\160918\resData\lib2\setIndex.txt','r+').readlines())#columns
    df = pd.DataFrame(data, index = set_word,columns = columns)
    print (df)
    
    df.to_csv('C:\Users\Administrator\Desktop\result.csv')



  • 相关阅读:
    SoapUI 使用笔记
    git 使用笔记(二)
    git 使用笔记(一)
    jquery 拓展
    hdu 1024 Max Sum Plus Plus (DP)
    hdu 2602 Bone Collector (01背包)
    hdu 1688 Sightseeing (最短路径)
    hdu 3191 How Many Paths Are There (次短路径数)
    hdu 2722 Here We Go(relians) Again (最短路径)
    hdu 1596 find the safest road (最短路径)
  • 原文地址:https://www.cnblogs.com/actanble/p/6713446.html
Copyright © 2011-2022 走看看