多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
## wuliaoKeyword (关键词物料生成器) [TOC] 生成关键词物料工具。 ### 你需要准备的文件: 1. 关键词文件。`.txt` 类型文件。 2. 关键词物料生成规则文件。`.csv` 类型文件。 3. 备选项(如果你想精细控制的话): * 关键词 【匹配模式】配置文件。`.json` 类型文件。详情 [匹配模式精细配置](#ppms-json) * 关键词 【出价】配置文件。 `.json` 类似文件。详情 [出价精细配置说明](#chujia-json) ### 关键词物料生成规则文件内容要求: 其实,就是关键词物料的模板,只是要加上几列,并且要填上必要的内容。需要更改的地方如下: #### 1.新增多出的列及列标题: + groupBy —— 分词核心词/字符/组合(组合用 "&" 连接),[详情](#for-groupby) + findBy —— 分词匹配规则(包含、相同,默认"包含"),[详情](#for-findby) + isGroupByLength —— 是否按词长再次分组,默认"否"。(如果填"是"则会更改【单元/推广组】名称:加上"-N"后缀,例如:`‘编程培训-前端-10’`。**`如果你不想增加推广单元,一定不要填"是")`** ,[详情](#for-isGroupByLength) 以下是关于新增列填写说明: <h5 id="for-findby">1.1.1 groupBy</h5> groupBy 列填写的是分词规则,即哪些词可以分到这一推广单元(推广组)。支持的写法: * `%t`—— 包含 **非汉字符号** 的关键词。 * `核心字词`—— 包含 `核心字词` 的关键词。 * `核心字词&核心字词...`—— 包含多个不同 `核心字词` 组合的关键词。核心字词的个数不限制。是包含还是结构相同由 `findBy` 列的 `包含` 或者 `相同` 来控制。它们的对分词的效果如下: * `包含`,默认值,留空的话将是 `包含`。它指`核心字词`组合中的每个 `核心字词` 都在当前的关键词中。 * `相同`, 它指不仅所有`核心字词`都有而且 `核心字词` 出现的先后顺序一致。 * 例子: ``` 关键词: 上海JAVA培训大概多少钱 核心词组合:JAVA&上海 ``` >* 在`包含` 模式下分到词。'JAVA' 和 '培训' 都包含在 "上海JAVA培训大概多少钱" 中。 > >* 在`相同` 模式下分不到词。 'JAVA' 和 '培训' 虽都包含在 "上海JAVA培训大概多少钱" 中,但顺序不一致。 * `核心字词&%t`—— 包含`核心字词`并且包含 **非汉字符号** 的关键词。 *`findBy`* 的控制无效,默认使用`包含` 模式 * `核心字词&核心字词...&%t`—— 包含`核心字词`组合并且包含 **非汉字符号** 的关键词。 *`findBy`* 的控制无效,默认使用`包含` 模式。 >**注意**: 规则中使用 `&` 作为多条件连接符号,其他符号将被视为条件本身,因为处理过程中工具使用 `&` 作为分割符使用。不用其他符号也是为了与 Excel 及类似软件的运算符区分开来,方便编辑。 ---- <h5 id="for-findby">1.1.2 findBy</h5> findBy 列用指定对核心词的匹配方式。就两种: * `包含`: 核心词均包含在关键词中。默认方式。 * `相同`: 能匹配跟多个核心词组成的组合结构(先后顺序)一致的关键词。 **注意:** * 留空则 为 `包含`模式。 * 当 groupBy 列下的单元格有 `%t` 标记时,`相同` 不起作用,将用 `包含` 模式。 ---- <h5 id="for-isGroupByLength">1.1.3 isGroupByLength</h5> isGroupByLength 用来控制是否根据通过 groupBy、findBy 匹配到的关键词的字数(长度)进一步细分。如果填`“是”` 将会更改【推广组】(也叫【推广单元】)的名称。其结果是: * 关键词按字数分组(同时符合分词规则),只是对符合 `核心词、核心词组合`的关键词再次按字数细分。 * 会增加推广单元(推广组)的个数。若再细分,在不增加推广计划的前提下,只能在【推广单元】下手了。每增加一个推广单元我们要做的事情也会增加,如果你的帐户没有这样的管理方式,又或者你不希望给自己带来更多麻烦,不要填"是"。 如果填"是",则结果类似下面的例子: ``` 培训-好-10 --> 所有字数为 10 且有“培训”、“好” 的关键词均分在该组下。 培训-好-11 --> 所有字数为 11 且有“培训”、“好” 的关键词均分在该组下。 ``` ---- #### 2. 要更改的列标题: 因为各个渠道的物料有所差异,列标题的名称也有差异,因此有些地方要进行统一命名。 + tgjh —— 推广计划名称,将【推广计划/名称】列名改为:`tgjh`; + group —— 单元(推广组)名,将物料模板上定义【推广单元】、【推广组】名称的列的列名改为:`group`; + ppms —— 匹配模式,将物料模板上定义关键词【匹配模式】的列名改为:`ppms`; + chujia —— 出价,将物料模板上定义关键词【出价】的列的列名改为:`chujia`; + keyword —— 关键词,将物料模板上定义【关键词】的列的列名改为:`keyword`; + pcURL —— 计算机访问URL,同样的更改定义【PC访问的推广页面地址】的列的列名改为:`pcURL` + ydURL —— 移动访问URL,同样的更改定义【移动访问的推广页面地址】的列的列名改为:`ydURL` > 注意: > >1. 要新增的列以及要更改列名必须做了处理,否则无法处理。 >2. 处理过程中都是按 “关键词物料生成规则CSV文件” 一行一行地进行,CSV 的 **行** 有空白的地方并且不在精细处理的范围内,则输出的结果也是空的。 >3. 分词时,将根据 `groupBy` 列中规则最长的行开始,这样可以保证核心词较多的组能分到词,因此不必担心条件多的推广组分不到词。(当然这取决关键词自身,以及`分词模式选项`控制--`findBy`) >4. 每个推广平台的物料会有所差异,为保证输出结符合物料的要求,最好不要改动列的位置; > * **新增的前3列是不会输出的——`groupBy`,`findBy`,`isGroupByLength`** > * **列标题被改的列依然会保持原有的位置。** ---- #### 3. 关于 URL 工具提供了是否添加关键词 ID 的选项,如果选址“是”,则给URL的末尾加上关键词 ID ,它的参数以及值: * 使用的连接符: `&` * **参数**:可自行设置,默认为 `'mykeyid'`, **ID值**: 由字母和数字组成的字符串,类似:`ckdeqybh702aqsottgbyg7atm` * ID 唯一性: 1. 同一个关键词的 `pcURL` 和 `ydURL` 的 ID 值是一致的,且在本次执行本工具后输出的所有 ID 中都是唯一的。 2. 但对比多个账户就不一定了(未验证,如果大家发现不能多账户唯一,请反馈给我们。) >我们觉得 ID 已经足够长了…… 当然,长并不代表唯一…… * 如果你还有其他的URL参数,请自行补充完整,关键词 ID 只会加到已有URL的末尾。结果类似:`http://www.example.com/a1.html?(你自己定义的部分)&mykeyid=ckdeqybh702aqsottgbyg7atm` ,工具只在最后加。如不需要请选 “否”,也可以后期处理掉。 ---- #### 4. 关于精细配置文件的说明 为了能让生成关键词物料的过程能更加“智能”——让后期需要我们修正的地方更少!这也意味着我们要写更加详细的规则,工具对关键词的【匹配模式】和【出价】两项配置提供了进一步配置的方法。但编辑CSV文件是一件痛苦的事情——即便大家会在 Excel 这类软件中先编辑好后另存为CSV文件,在 Excel 中编辑较为复杂的内容会把人逼疯的,我们还是直接写程序可直接调用的文件吧——仅支持 `.json` 文件。然后把JSON文件的路径粘贴到需要精细配置的单元格即可。 > JSON 文件,后缀名:` .json`,不了解的朋友可直接参照示例进行更改即可。很多专业的文本编辑器都提供对JSON文件编辑的支持,错误的格式和内容会得到提示,以帮助大家编辑出格式准确的 JSON 文件。 > > 推荐的编辑器: [Visual Studio Code](https://code.visualstudio.com/Download),其实也有网页类的编辑器,自行找找。 下面是相关的说明及示例: <h5 id = "ppms-json">匹配模式精细配置</h5> 关键词的匹配模式是根据词性来设置的,但这里只提供根据关键词字数作为设置匹配模式的依据。 >如果按某些特定的关键词来划分倒是容易,但大家再去写N多的核心词,岂不是要疯掉!但这的确是个好点子,也许后续的版本会提供…… JSON 示例: ``` { "custom":[ ["1-5","广泛匹配"], ["5-8","短语(精确包含)"], [8,"短语(同义包含)"], ["9-11","短语(核心包含)"], ["11-13","短语(同义包含)"] ], "default":"精确匹配" } ``` **说明:** * 基本格式:`["关键词字数","匹配模式"]` * `["11-13","短语(同义包含)"]`,表示关键词字数在 `11~13` 之间的关键词(*`不包含字数为 13 的关键词`*),这些词对应的匹配模式是 `短语(同义包含)`。 * `8`,如果是一个确定的字数可以直接写数字(可不加双引号) * `"default"`:其他没有在限定字数范围内的关键词将使用默认匹配方式。例如示例中的没有定义的关键词将被设置为 `精确匹配` * 不能更改的内容:键:`"custom"`、`"default"`; * custom 里的条目可以增、减,default 最好设置一个模式,匹配模式留空的话结果将是空白。 * 如果 JSON 格式错误,输出的匹配模式列将会空白。 * 精细配置不是必须的,嫌麻烦可以直接在ppms列中直接写相应的匹配模式。 * 如果写了要进行精细配置,记得把JSON文件的完整路径填入相应的单元格。 * `这个配置并不是全局性的,它只对当前行有效`,也就是说你可以给每个推广单元(推广组)单独写一份JSON配置文件。 ---- <h5 id="chujia-json">出价精细配置说明</h5> 关键词出价的精细控制,仅支持通过匹配模式来设置对应的出价。同样使用JSON文件配置。 JSON 示例: ``` { "chujia":[ ["精确匹配",2], ["广泛匹配",3], ["短语(精确包含)",9], ["短语(核心包含)",8], ["短语(同义包含)",5] ] } ``` **说明:** * 基本格式:`["匹配模式", 出价]` * 不能删的内容:键:`chujia` * 最好把所有匹配模式以及对应的出价都写好。PS:*变懒了,每多加一个可选项,我们都要做很多事情……,反正也就那么几个匹配模式*。 * 没有默认值,格式出错或者文件路径错误,输出的结果出价单元格都留空。 * 精细配置不是必须的,嫌麻烦可以直接在` chujia` 列中对应的单元格中直接写相应的匹配模式。 * 如果写了要进行精细配置,记得把JSON文件的完整路径填入相应的单元格。 * `这个配置并不是全局性的,它只对当前行有效`,也就是说你可以给每个推广单元(推广组)单独写一份JSON配置文件。 ---- ## BUG 预判(必看) >预判说明已经发现了,只是……你懂的 手写CSV还是太要命了……,但从 Excel 导出又会有莫名其妙的东西导致工具不能工作。 建议的步骤: * 先在 Excel 或者 WPS 表格中编辑好规则文件(`不要有多余的内容`,有些朋友有在空白的地方打草稿的习惯,`.xls`类文件可能没关系,但对`.csv`文件来说,影响重大) * 另存为 `'CSV (逗号分隔符)(*.csv)'`或者 `'CSV UTF-8 (逗号分隔符)(*.csv)'` 类型的CSV文件。 * 用文本编辑器打开刚保存的CSV文件。(可能因编码问题而出现乱码的情况,请自行调整编码) * 观察第一行,如果有 `column` 字样的内容,直接把第一行删掉,然后保存。 * 确保第一行的内容是我们先前说到的那些列标题: `groupBy,findBy,isGroupByLength`……