階教程:商品標(biāo)題優(yōu)化助手——競品標(biāo)題詞頻分析自動(dòng)化)
影刀RPA進(jìn)階教程商品標(biāo)題優(yōu)化助手——競品標(biāo)題詞頻分析自動(dòng)化改標(biāo)題全靠感覺是大部分中小商家標(biāo)題優(yōu)化的現(xiàn)狀。競品前二十名的標(biāo)題里免燙“冰絲”闊腿這些詞到底出現(xiàn)了多少次哪個(gè)詞是流量密碼哪個(gè)詞純屬湊字?jǐn)?shù)人工一個(gè)個(gè)數(shù)不現(xiàn)實(shí)。這篇影刀RPA進(jìn)階教程帶你搭一個(gè)競品標(biāo)題詞頻分析自動(dòng)化流程自動(dòng)抓取搜索結(jié)果頁的競品標(biāo)題分詞、統(tǒng)計(jì)詞頻、按出現(xiàn)次數(shù)排序落表你照著表格挑詞組合標(biāo)題半小時(shí)出結(jié)果。我是運(yùn)營出身寫流程是實(shí)操兩年多邊踩坑邊學(xué)的這篇會(huì)講得比入門教程深一層。整個(gè)流程涉及數(shù)據(jù)抓取、正則清洗、分詞、字典統(tǒng)計(jì)、Excel讀寫和Python協(xié)同我會(huì)把每一步的指令配置和參數(shù)精確到選項(xiàng)最后再給一份詞頻分析容易翻車的地方清單。環(huán)境與流程骨架先跑通最小閉環(huán)影刀RPA官網(wǎng)下載默認(rèn)路徑安裝給Chrome裝好瀏覽器插件。流程骨架五個(gè)子流程01_搜索頁采集打開關(guān)鍵詞搜索頁抓競品標(biāo)題列表02_標(biāo)題清洗去廣告、去店鋪名、提取純標(biāo)題文本03_分詞與詞頻分詞指令切詞字典統(tǒng)計(jì)次數(shù)04_結(jié)果落表詞頻排序?qū)懭隕xcel05_報(bào)告生成篩出高頻詞組合建議子流程在右側(cè)面板點(diǎn)新建可視化流程創(chuàng)建編號前綴命名中間用流程參數(shù)傳遞數(shù)據(jù)不要用全局變量改關(guān)鍵詞的時(shí)候你只需要改主流程開頭的一個(gè)輸入變量。元素定位四合一在商品列表頁的實(shí)戰(zhàn)搜索結(jié)果頁是典型的相似元素場景。先點(diǎn)頂部工具欄捕獲新元素鼠標(biāo)移到第一個(gè)商品標(biāo)題上出現(xiàn)橙色邊框后點(diǎn)擊影刀會(huì)提示校驗(yàn)到多個(gè)相似元素這一步就是元素捕獲相似元素校驗(yàn)的入口。四條定位路線怎么選方式適用場景本例用法元素捕獲快速上手捕獲第一個(gè)標(biāo)題元素XPath層級復(fù)雜、屬性多變精確到標(biāo)題節(jié)點(diǎn)CSS選擇器class/id明確備選方案正則表達(dá)式元素屬性動(dòng)態(tài)變化通配隨機(jī)IDXPath六種寫法里商品頁最常用三種# 捕獲元素商品標(biāo)題模糊匹配class含title的節(jié)點(diǎn) //*[contains(class,title)] # 參照物定位通過價(jià)格文本向上找父級再找同級標(biāo)題 //*[contains(text(),¥)]/../../preceding-sibling::*[1] # 模糊匹配跳過廣告位標(biāo)題節(jié)點(diǎn)帶廣告標(biāo)記的直接排除 //*[contains(class,title) and not(contains(class,ad))]CSS選擇器八種語法中最實(shí)用的是類選擇器、后代選擇器和屬性選擇器比如div[class*title]一行等價(jià)于上面第一句XPath。選型經(jīng)驗(yàn)結(jié)構(gòu)穩(wěn)定用CSS省事結(jié)構(gòu)嵌套深或需要text()匹配就用XPath。商品列表頁最大的坑是廣告位混在自然結(jié)果里用not()排除或者抓完后按特征列過濾。動(dòng)態(tài)隨機(jī)ID一定要用正則通配元素編輯界面把class里每次刷新都變的數(shù)字部分改成[\d]否則第二次運(yùn)行必報(bào)未找到元素。批量抓取標(biāo)題翻頁與懶加載處理用【打開網(wǎng)頁】指令打開搜索結(jié)果頁瀏覽器類型選影刀瀏覽器支持靜默運(yùn)行URL參數(shù)里把關(guān)鍵詞做成流程變量等【等待網(wǎng)頁加載完成】返回后再抓?!九繑?shù)據(jù)抓取】指令點(diǎn)批量抓取數(shù)據(jù)按鈕后框選商品標(biāo)題字段保存為二維列表變量。翻頁兩種情況能確定總頁數(shù)時(shí)捕獲共XX頁文本用【從文本中提取內(nèi)容】指令配正則\d提出數(shù)字填進(jìn)批量數(shù)據(jù)抓取的抓取頁數(shù)不確定總頁數(shù)時(shí)按F12看下一頁按鈕源碼可點(diǎn)擊時(shí)class不含disabled、到最后一頁會(huì)出現(xiàn)disabled用While條件循環(huán)加判斷元素是否存在控制翻頁。懶加載頁面需要滾動(dòng)觸發(fā)先滾動(dòng)到底部再校驗(yàn)元素抓完做index去重防止重復(fù)條目。翻頁間隔參數(shù)別設(shè)0動(dòng)態(tài)加載的數(shù)據(jù)沒渲染完抓到的就是空值我設(shè)3秒寧可慢一點(diǎn)也別抓一堆空行回去。文本清洗正則三場景與字符串處理抓下來的標(biāo)題混著廣告詞、促銷符號和店鋪名。影刀【從文本中提取內(nèi)容】指令支持正則官方文檔里常用操作符要記住幾個(gè)[\u4e00-\u9fa5]匹配中文字符、\d匹配數(shù)字、表示前一字符一次或無限次擴(kuò)展。清洗流水線三步提取中文主標(biāo)題用[\u4e00-\u9fa5A-Za-z0-9]按段提取再拼接去停用詞季節(jié)年份、包郵促銷這類詞用【文本替換】統(tǒng)一刪除統(tǒng)一格式【刪除文本兩端的空格】加【改變文本的大小寫】處理英文部分字符串指令集里【文本分割成列表】按空格或指定分隔符切分、【列表去重】、【獲取文本長度】這些都用得上。多個(gè)標(biāo)題處理完聚合成一個(gè)大文本交給分詞環(huán)節(jié)。分詞與詞頻統(tǒng)計(jì)字典是核心影刀自帶【文本分詞】指令A(yù)I引擎默認(rèn)用內(nèi)置的影刀引擎分析模式選高精度模式分詞結(jié)果保存為列表變量。商品標(biāo)題分詞的難點(diǎn)是加絨連帽這類組合詞可能被切碎我的做法是維護(hù)一個(gè)自定義詞表分詞前先用【文本替換】把保護(hù)詞臨時(shí)替換成帶占位符的形式分完再換回來。詞頻統(tǒng)計(jì)用字典做映射核心代碼塊如下# 輸入word_list分詞結(jié)果列表一維列表# 輸出freq_dict詞頻字典 {詞: 出現(xiàn)次數(shù)}freq_dict{}forwordinword_list:iflen(word)2:# 過濾單字的款無分析價(jià)值continueifwordinfreq_dict:# 鍵已存在則計(jì)數(shù)加一freq_dict[word]freq_dict[word]1else:# 鍵不存在時(shí)新建鍵值對freq_dict[word]1# 按出現(xiàn)次數(shù)從高到低排序sorted_itemssorted(freq_dict.items(),keylambdax:x[1],reverseTrue)字典鍵不存在的兩種處理方案像上面這樣先判斷再賦值或者直接用get方法給默認(rèn)值freq_dict.get(word, 0) 1一行頂四行我后期都改成后者了。排序也可以不用Python影刀【列表排序】、【列表去重】、【獲取字典值列表】、【獲取字典鍵名列表】這些指令組合起來能做但代碼十行比拖二十個(gè)指令清爽Python圖標(biāo)點(diǎn)亮后直接寫表達(dá)式即可。詞頻落表與標(biāo)題組合建議統(tǒng)計(jì)結(jié)果寫入Excel步驟指令關(guān)鍵參數(shù)打開表打開/新建Excel詞頻分析結(jié)果.xlsx寫表頭寫入內(nèi)容至Excel工作表覆蓋一行寫入[詞, 次數(shù)]寫數(shù)據(jù)寫入內(nèi)容至Excel工作表追加一行二維列表存檔保存/另存Excel勾選保存后關(guān)閉再加一層加工用【獲取列表指定位置項(xiàng)】取Top20的高頻詞按詞性手動(dòng)標(biāo)注屬性詞、賣點(diǎn)詞、長尾詞三列標(biāo)注列也寫進(jìn)表里。組合建議這步我沒做成全自動(dòng)機(jī)器組合的標(biāo)題讀起來生硬人工從高頻詞表里挑詞重組保留原競品標(biāo)題的詞序結(jié)構(gòu)效果比我預(yù)想的好。進(jìn)階玩法是【文本相似度分析】指令把自己現(xiàn)用標(biāo)題和競品Top標(biāo)題做相似度對比相似度過高說明同質(zhì)化嚴(yán)重該換詞了。Python協(xié)同方面跨模塊調(diào)用用from . import 模塊名我把清洗函數(shù)封裝進(jìn)獨(dú)立模塊多個(gè)采集流程共用一份。定時(shí)監(jiān)控與日志規(guī)范把這套流程做成周更監(jiān)控應(yīng)用發(fā)版后在高級任務(wù)計(jì)劃里掛定時(shí)觸發(fā)器每周一早上九點(diǎn)跑一輪核心關(guān)鍵詞跑完結(jié)果自動(dòng)追加進(jìn)Excel并用【飛書群通知】把本周詞頻Top10摘要推到群里。定時(shí)觸發(fā)器支持每日、每周、每月、預(yù)約、自定義間隔和Cron表達(dá)式還能跳過法定節(jié)假日觸發(fā)器生效的前提是高級任務(wù)計(jì)劃已啟用。應(yīng)用未發(fā)版加不進(jìn)定時(shí)任務(wù)發(fā)版后定時(shí)還失敗去我獲取的應(yīng)用檢查應(yīng)用是否被誤刪從我開發(fā)的應(yīng)用拷副本重新發(fā)版再掛。日志規(guī)范每個(gè)子流程入口出口各一條【打印日志】類型分調(diào)試/信息/警告/錯(cuò)誤抓取條數(shù)、清洗后剩余條數(shù)、Top詞數(shù)量都打出來數(shù)據(jù)量異常一眼能從運(yùn)行日志里看出來。社區(qū)版每天30分鐘運(yùn)行時(shí)長跑關(guān)鍵詞多的時(shí)候記得控制總頁數(shù)或者上創(chuàng)業(yè)版。易錯(cuò)點(diǎn)速查問題原因解決抓到空標(biāo)題懶加載沒觸發(fā)滾動(dòng)到底再校驗(yàn)翻頁間隔設(shè)3秒分詞切碎組合詞未登錄詞不在詞表保護(hù)詞替換法或選高精度模式字典取值報(bào)錯(cuò)鍵不存在用get(word, 0)取值| 詞頻表數(shù)字成文本 | 寫入列格式問題 | 寫入時(shí)勿設(shè)該列為文本格式 || 相似元素?cái)?shù)量變化 | 頁面有刷新行為 | For次數(shù)循環(huán)內(nèi)重新獲取相似元素列表 |另外提醒一個(gè)隱蔽的正則指令對含分組的表達(dá)式默認(rèn)只返回第一個(gè)捕獲分組想要完整匹配結(jié)果就別加多余的括號這個(gè)行為文檔里寫得很清楚但我第一次用照樣栽了。延伸閱讀與學(xué)習(xí)資源正則表達(dá)式、字典、文本分詞這幾篇官方文檔是本篇的地基建議直接讀原文里面每張操作符表都值得收藏。完整流程源碼我放在代碼倉庫 home.linyan.cloud可以直接參考改造關(guān)鍵詞列表、翻頁頁數(shù)、停用詞表全部做成流程參數(shù)接上你自己的類目詞就能跑。詞頻分析做完別急著改標(biāo)題觀察兩周搜索數(shù)據(jù)再迭代數(shù)據(jù)不會(huì)說謊。#影刀RPA #RPA自動(dòng)化 #商品標(biāo)題 #詞頻分析 #數(shù)據(jù)采集 #電商運(yùn)營作者林焱