知识库首页 书签代码 auto-keywords-书签2(多页自动翻页版,智能等待+重试+CSV导出):.txt

auto keywords 书签2(多页自动翻页版,智能等待+重试+CSV导出):

本地来源:书签代码/txt/auto-keywords-书签2(多页自动翻页版,智能等待+重试+CSV导出):.txt

javascript:(async function(){try{if(!window.location.hostname.includes('3ue.com')){alert('请在SimilarWeb网站上使用此工具');return;}let domain='';const qb=document.querySelector('span[data-automation="query-bar-item-text"] span');if(qb)domain=qb.textContent.trim();if(!domain){const u=new URLSearchParams(window.location.search);domain=u.get('keyword')||u.get('key')||'unknown';}function sleep(ms){return new Promise(r=>setTimeout(r,ms));}function getPage(){const inp=document.querySelector('div[data-automation-pagination="true"] input[pattern="[0-9]*"]');const n=parseInt(inp&&inp.value,10);return isNaN(n)?1:n;}function getMax(cur){const w=document.querySelector('div[data-automation-pagination="true"]');if(w){const m=(w.textContent||'').match(/out of\s*(\d+)/i);if(m)return parseInt(m[1],10)||cur;}return cur;}function clickNext(){const b=document.querySelector('a[data-automation-pagination-control="control-right"][data-automation-pagination-control-disabled="false"]');if(b){b.click();return true;}return false;}function extract(){const data=[];const sels=['div[data-row-index]','div.swReactTable-row','[class*="TableRow"]'];let rows=[];for(const s of sels){rows=document.querySelectorAll(s);if(rows.length>0)break;}if(rows.length>0){rows.forEach(row=>{const kw=row.querySelector('a.swTable-content')?.textContent.trim()||'';const s28=row.querySelector('[data-table-col="3"] div')?.textContent.trim()||'';const avg=row.querySelector('[data-table-col="4"] div')?.textContent.trim()||'';const zc=row.querySelector('.swTable-progressBar span')?.textContent.trim()||'';const kd=row.querySelector('div[data-table-col="7"]')?.textContent.trim()||'';const intent=row.querySelector('[data-table-col="8"] div.mcLGn')?.textContent.trim()||'';const cpc=row.querySelector('[data-table-col="9"] div')?.textContent.trim()||'';const top=row.querySelector('span.gjKcre')?.textContent.trim()||'';if(kw)data.push({keywords:kw,searches28d:s28,average:avg,zeroClick:zc,kd,intention:intent,cpc,top});});}if(data.length===0){const kws=document.querySelectorAll('a.swTable-content');if(kws.length===0)return[];const c={s:document.querySelectorAll('[data-table-col="3"] div'),a:document.querySelectorAll('[data-table-col="4"] div'),z:document.querySelectorAll('.swTable-progressBar span'),k:document.querySelectorAll('div[data-table-col="7"]'),i:document.querySelectorAll('[data-table-col="8"] div.mcLGn'),p:document.querySelectorAll('[data-table-col="9"] div'),t:document.querySelectorAll('span.gjKcre')};kws.forEach((kw,j)=>{data.push({keywords:kw.textContent.trim(),searches28d:c.s[j]?.textContent.trim()||'',average:c.a[j]?.textContent.trim()||'',zeroClick:c.z[j]?.textContent.trim()||'',kd:c.k[j]?.textContent.trim()||'',intention:c.i[j]?.textContent.trim()||'',cpc:c.p[j]?.textContent.trim()||'',top:c.t[j]?.textContent.trim()||''});});}return data;}async function waitForTable(prevFirst,maxWait){const start=Date.now();while(Date.now()-start<maxWait){await sleep(500);const rows=document.querySelectorAll('a.swTable-content');if(rows.length>0){const first=rows[0].textContent.trim();if(first&&first!==prevFirst)return first;}}return null;}let ov=document.getElementById('_sw_ov');if(!ov){ov=document.createElement('div');ov.id='_sw_ov';ov.style.cssText='position:fixed;top:10px;left:50%;transform:translateX(-50%);background:rgba(0,0,0,.85);color:#0f0;padding:12px 24px;border-radius:8px;z-index:99999;font:bold 14px monospace;pointer-events:none;';document.body.appendChild(ov);}function status(t){ov.textContent=t;console.log(t);}let allData=[];let seen=new Set();let cur=getPage();let max=getMax(cur);let emptyRetries=0;const maxRetries=3;status('开始提取... 第'+cur+'/'+max+'页');while(true){const pd=extract();let newCount=0;pd.forEach(r=>{if(!seen.has(r.keywords)){seen.add(r.keywords);allData.push(r);newCount++;}});status('第'+cur+'/'+max+'页 新增'+newCount+'条 总计'+allData.length+'条');if(newCount===0){emptyRetries++;if(emptyRetries>=maxRetries){status('连续'+maxRetries+'次空页,停止');break;}status('第'+cur+'页为空,重试'+emptyRetries+'/'+maxRetries+'...');await sleep(3000);continue;}else{emptyRetries=0;}if(cur>=max)break;const prevFirst=document.querySelector('a.swTable-content')?.textContent.trim()||'';const hasNext=clickNext();if(!hasNext){status('没有下一页按钮了');break;}status('等待第'+(cur+1)+'页加载...');const loaded=await waitForTable(prevFirst,15000);if(!loaded){status('页面加载超时,等待额外5秒...');await sleep(5000);}cur++;max=getMax(cur);}ov.style.background='rgba(0,100,0,.9)';status('✅ 完成! 共'+allData.length+'条 正在生成页面...');await sleep(1000);let html='<!DOCTYPE html><html><head><meta charset="UTF-8"><title>SW关键词 - '+domain+'</title><style>:root{--bg:#1a1a2e;--bg2:#16213e;--card:#0f3460;--text:#eee;--text2:#aaa;--border:#0f3460;--link:#00d9ff;--link-hover:#00fff7;--hover-row:#1a1a40;--positive:#00e676;}body.light{--bg:#f5f5f5;--bg2:#fff;--card:#fff;--text:#333;--text2:#666;--border:#ddd;--link:#1976d2;--link-hover:#0d47a1;--hover-row:#f0f7ff;--positive:#4CAF50;}body{font-family:Arial,"Microsoft YaHei",sans-serif;margin:0;padding:20px;background:var(--bg);color:var(--text);transition:all .3s;}h1{font-size:22px;margin-bottom:8px;text-align:center;}.info{text-align:center;color:var(--text2);margin-bottom:15px;font-size:13px;}.controls{text-align:center;margin-bottom:15px;display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:8px;}button{color:white;border:none;padding:8px 16px;cursor:pointer;border-radius:4px;font-size:13px;transition:all .2s;}button:hover{opacity:.85;transform:translateY(-1px);}.theme-toggle{position:fixed;top:15px;right:15px;background:var(--card);border:1px solid var(--border);color:var(--text);padding:8px 12px;border-radius:20px;cursor:pointer;font-size:13px;z-index:100;}table{width:100%;border-collapse:collapse;background:var(--card);box-shadow:0 4px 12px rgba(0,0,0,.3);border-radius:8px;overflow:hidden;}th{background:var(--bg2);padding:10px;text-align:left;font-weight:bold;border:1px solid var(--border);cursor:pointer;user-select:none;position:sticky;top:0;z-index:10;}th:hover{background:var(--hover-row);}td{padding:8px;border:1px solid var(--border);font-size:13px;}tr:hover{background:var(--hover-row);}.keyword-cell a{color:var(--link);text-decoration:none;}.keyword-cell a:hover{color:var(--link-hover);text-decoration:underline;}.nc{text-align:right;font-family:monospace;}.ic{text-align:center;}#msg{display:none;color:var(--positive);font-weight:bold;padding:4px 8px;background:rgba(0,230,118,.15);border-radius:4px;}.tc{overflow-x:auto;max-height:calc(100vh - 160px);overflow-y:auto;border-radius:8px;}#fi{padding:7px 10px;width:280px;border:1px solid var(--border);border-radius:4px;background:var(--card);color:var(--text);}</style></head><body><button class="theme-toggle" onclick="toggleTheme()">🌙</button><h1>🔍 '+domain+' 关键词数据</h1><div class="info">共 '+allData.length+' 条 | '+new Date().toLocaleString()+'</div><div class="controls"><input type="text" id="fi" placeholder="搜索关键词..." onkeypress="if(event.key===\'Enter\')ft()"><button onclick="ft()" style="background:#9C27B0">🔍搜索</button><button onclick="ct()" style="background:#2196F3">📋复制表格</button><button onclick="ek()" style="background:#00BCD4">📝复制关键词</button><button onclick="ec()" style="background:#FF9800">📥导出CSV</button><span id="msg">✓ 已复制!</span></div><div class="tc"><table id="dt"><thead><tr><th onclick="st(0)">#</th><th onclick="st(1)">关键词</th><th onclick="st(2)">28天搜索量</th><th onclick="st(3)">平均搜索量</th><th onclick="st(4)">零点击率</th><th onclick="st(5)">KD</th><th onclick="st(6)">意图</th><th onclick="st(7)">CPC</th><th onclick="st(8)">Top网站</th></tr></thead><tbody>';for(let i=0;i<allData.length;i++){const r=allData[i];html+='<tr><td>'+(i+1)+'</td><td class="keyword-cell"><a href="https://www.google.com/search?q='+encodeURIComponent(r.keywords)+'" target="_blank">'+r.keywords+'</a></td><td class="nc">'+r.searches28d+'</td><td class="nc">'+r.average+'</td><td class="nc">'+r.zeroClick+'</td><td class="nc">'+r.kd+'</td><td class="ic">'+r.intention+'</td><td class="nc">'+r.cpc+'</td><td>'+r.top+'</td></tr>';}html+='</tbody></table></div>';html+='<script>let dk=true;function toggleTheme(){dk=!dk;document.body.classList.toggle("light",!dk);document.querySelector(".theme-toggle").textContent=dk?"🌙":"☀️";}let sd={};function st(c){const tb=document.getElementById("dt").querySelector("tbody");const rows=Array.from(tb.querySelectorAll("tr"));sd[c]=sd[c]==="asc"?"desc":"asc";rows.sort((a,b)=>{let av=a.cells[c].textContent.trim(),bv=b.cells[c].textContent.trim();if([0,2,3,4,5,7].includes(c)){av=parseFloat(av.replace(/[^0-9.-]/g,""))||0;bv=parseFloat(bv.replace(/[^0-9.-]/g,""))||0;}return sd[c]==="asc"?(av<bv?-1:av>bv?1:0):(av>bv?-1:av<bv?1:0);});tb.innerHTML="";rows.forEach(r=>tb.appendChild(r));}function ft(){const v=document.getElementById("fi").value.toLowerCase();document.querySelectorAll("#dt tbody tr").forEach(r=>{const t=r.cells[1].textContent.toLowerCase()+r.cells[6].textContent.toLowerCase();r.style.display=t.includes(v)?"":"none";});}function sm(){const m=document.getElementById("msg");m.style.display="inline";setTimeout(()=>m.style.display="none",2000);}function ct(){const rows=document.querySelectorAll("#dt tr");let t="";rows.forEach(r=>{t+=Array.from(r.cells).map(c=>c.textContent.trim()).join("\\t")+"\\n";});navigator.clipboard.writeText(t).then(sm);}function ek(){const k=Array.from(document.querySelectorAll("#dt tbody tr")).map(r=>r.cells[1].textContent.trim()).filter(Boolean);navigator.clipboard.writeText(k.join("\\n")).then(sm);}function ec(){const rows=document.querySelectorAll("#dt tr");let csv="\\uFEFF";rows.forEach(r=>{csv+=Array.from(r.cells).map(c=>\'"\'+(c.textContent.trim().replace(/"/g,\'""\')+\'"\')).join(",")+"\\n";});const b=new Blob([csv],{type:"text/csv;charset=utf-8;"});const a=document.createElement("a");a.href=URL.createObjectURL(b);a.download="sw_'+domain+'_"+new Date().toISOString().slice(0,10)+".csv";a.click();}<\/script></body></html>';ov.remove();const w=window.open('','_blank');if(!w){alert('请允许弹出窗口');return;}w.document.write(html);w.document.close();}catch(e){const ov=document.getElementById('_sw_ov');if(ov)ov.remove();alert('❌ 失败: '+e.message);}})();

本文档为站内渲染。原始文件本地路径:saas/source/bookmarks-code/书签代码-txt-auto-keywords-书签2-多页自动翻页版-智能等待-重试-CSV导出-4b29bd.txt(仅本地保留,不入库不部署)