我们都知道打造单品,引来精准流量,获取足够多的淘宝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')