• 根据已知词表选出好词(直通车)


    直通车的选词优化。如何利用直通车后台信息选出匹配的基础好词。用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')



  • 相关阅读:
    linux driver ------ 交叉工具链(cross toolchain)
    Qt ------ 截图、获取鼠标指定的RGB值
    Qt ------ QWidget 自定义子类使用信号与槽(Q_OBJECT)后 stylesheet 失效
    Qt error ------ incomplete type 'QApplication' used in nested name specifier
    Qt ------ Q_UNUSED
    SpringCloud 组件Eureka参数配置项详解
    过滤器(Filter)与拦截器(Interceptor)的区别
    事务隔离级别
    事务四大特性
    get与post的区别
  • 原文地址:https://www.cnblogs.com/actanble/p/6713446.html
Copyright © 2020-2023  润新知