当前位置:网站首页 >  攻略

关键词排名监测零门槛实操指南 从工具搭建到数据自动分析全流程

时间:2026年06月06日 22:29:10 来源:易频IT社区

一、环境搭建与工具安装

所有工具均为开源免费,无需付费购买任何服务,全程操作10分钟即可完成。

1.1 基础环境安装

首先安装Python3.8及以上版本,直接访问官方稳定版地址下载:https://www.python.org/downloads/release/python-31011/ ,安装时必须勾选底部「Add Python to PATH」选项,否则后续命令无法识别

安装完成后按Win+R输入cmd打开命令行,输入python -V,显示Python 3.10.11即为安装成功。

1.2 依赖库安装

在命令行直接执行以下命令,自动安装所有需要的依赖包:

``` pip install requests beautifulsoup4 pandas openpyxl fake-useragent ```

如果提示pip不是内部命令,可将pip替换为pip3重新执行。

二、监测脚本编写(可直接复制使用)

2.1 新建配置文件

在电脑任意位置新建一个文件夹(命名为rank_monitor),在文件夹内新建名为config.py的文件,将以下内容完整复制进去,按照自己的需求修改对应参数:

``` config.py 完整配置代码 待监测关键词列表,可任意添加 KEYWORDS = ["线上办公软件", "企业文档管理系统", "开源项目管理工具"] 目标域名,不要加http/https前缀,你的站点是带www就填带www的,否则填裸域名 TARGET_DOMAIN = "example.com" 最大监测页码,建议不超过10页,避免触发反爬 MAX_PAGE = 5 监测结果Excel保存路径,默认保存在当前文件夹 RESULT_PATH = "./关键词排名结果.xlsx" 请求间隔时间,单位秒,建议不低于2秒 DELAY_TIME = 2 ```

2.2 新建核心监测脚本

在同一文件夹内新建名为rank_monitor.py的文件,将以下完整代码复制进去,无需修改任何内容即可直接使用:

``` import time import requests from bs4 import BeautifulSoup import pandas as pd from fake_useragent import UserAgent from config import KEYWORDS, TARGET_DOMAIN, MAX_PAGE, RESULT_PATH, DELAY_TIME ua = UserAgent() result_list = [] def get_rank(keyword): for page in range(MAX_PAGE): headers = {"User-Agent": ua.random} 百度搜索接口,pn参数为每页起始位置,每页10条 url = f"https://www.baidu.com/s?wd={keyword}&pn={page10}" resp = requests.get(url, headers=headers, timeout=10) soup = BeautifulSoup(resp.text, "html.parser") 解析搜索结果项 result_items = soup.select(".result.c-container") for index, item in enumerate(result_items): try: 提取跳转链接,解析真实地址 jump_url = item.select_one("h3 a")["href"] real_resp = requests.head(jump_url, headers=headers, allow_redirects=True, timeout=5) real_url = real_resp.url if TARGET_DOMAIN in real_url: rank = page 10 + index + 1 return rank, real_url except Exception as e: continue time.sleep(DELAY_TIME) return "未进前{}页".format(MAX_PAGE), "" if __name__ == "__main__": for kw in KEYWORDS: print(f"正在监测关键词:{kw}") rank, url = get_rank(kw) result_list.append({ "关键词": kw, "排名": rank, "对应页面URL": url, "监测时间": time.strftime("%Y-%m-%d %H:%M:%S") }) 保存为Excel df = pd.DataFrame(result_list) df.to_excel(RESULT_PATH, index=False) print(f"监测完成,结果已保存到{RESULT_PATH}") ```

运行前请确认你要爬取的搜索引擎robots协议允许对应爬虫操作,单次监测关键词数量建议不超过50个,避免触发IP封禁。如果百度反爬严重,可将代码内的百度接口替换为必应接口:https://cn.bing.com/search?q={keyword}&first={page10+1},同时修改对应的结果解析规则即可。

三、运行脚本与结果解读

3.1 脚本运行

关键词排名监测零门槛实操指南 从工具搭建到数据自动分析全流程

在rank_monitor文件夹地址栏输入cmd,按回车打开当前路径的命令行窗口,直接执行以下命令:

``` python rank_monitor.py ```

等待命令行提示监测完成即可,运行过程中不要关闭窗口。

3.2 结果解读

打开生成的「关键词排名结果.xlsx」,字段说明如下:

  • 关键词:你设置的待监测关键词
  • 排名:目标域名在搜索引擎的对应排名,数字越小排名越高
  • 对应页面URL:获得该排名的具体页面地址
  • 监测时间:本次监测的具体时间,方便追溯历史数据

如果排名字段显示为「未进前N页」,说明你的站点在你设置的监测页码范围内没有对应排名

四、自动监测与预警配置(可选进阶)

4.1 定时自动运行配置

Windows系统可直接搜索「任务计划程序」,新建任务,触发条件设置为每天固定时间,操作设置为启动程序,程序或脚本填python.exe的路径,参数填你脚本的完整路径即可。

Mac/Linux系统直接执行crontab -e,添加以下定时规则即可实现每天9点自动执行监测:

``` 0 9 /usr/bin/python3 /你的脚本完整路径/rank_monitor.py ```

4.2 排名波动预警配置

需要排名下降时自动收到通知的,可在脚本末尾保存Excel的代码前添加以下邮件通知逻辑,填入你自己的邮箱信息即可:

``` import smtplib from email.mime.text import MIMEText 配置邮箱信息 SMTP_SERVER = "smtp.qq.com" SMTP_PORT = 465 SENDER_EMAIL = "你的发件邮箱@qq.com" SENDER_PASSWORD = "你的邮箱授权码" RECEIVER_EMAIL = "你的收件邮箱@qq.com" 筛选排名下降或未入榜的关键词 alert_keywords = [item for item in result_list if item["排名"] == "未进前{}页".format(MAX_PAGE) or (isinstance(item["排名"], int) and item["排名"] > 10)] if alert_keywords: content = "以下关键词排名出现异常:\n" + "\n".join([f"{item['关键词']}:{item['排名']}" for item in alert_keywords]) msg = MIMEText(content, "plain", "utf-8") msg["Subject"] = "关键词排名异常预警" msg["From"] = SENDER_EMAIL msg["To"] = RECEIVER_EMAIL server = smtplib.SMTP_SSL(SMTP_SERVER, SMTP_PORT) server.login(SENDER_EMAIL, SENDER_PASSWORD) server.sendmail(SENDER_EMAIL, RECEIVER_EMAIL, msg.as_string()) server.quit() ```

QQ邮箱的授权码可在QQ邮箱设置-账户-POP3/IMAP/SMTP服务处开启获取。

五、常见问题排查

  • 运行提示ModuleNotFoundError:确认Python版本和pip版本对应,可使用pip3重新执行安装命令,或执行python -m pip install 依赖包名
  • 所有关键词排名均显示未入榜:首先确认手动搜索对应关键词你的站点有排名,然后适当调高DELAY_TIME到3-5秒,或更换搜索引擎接口
  • 监测结果和手动搜索不一致:搜索引擎存在个性化推送差异,脚本监测的是未登录状态的通用排名,和你登录账号后的搜索结果存在偏差属于正常情况
  • 运行提示连接超时:检查网络是否可以正常访问对应搜索引擎,可开启代理后再运行脚本

相关推荐

最新

热门

推荐

精选

标签

易频IT社区是综合性互联网IT技术门户网站,专注分享网络技术、服务器运维、网络安全、编程开发、系统架构、云计算、大数据等行业干货,实时更新IT行业资讯、零基础教程、实战案例,为IT从业者、技术爱好者提供专业的学习交流平台。

Copyright © 2021-2026 易频IT社区. All Rights Reserved. 备案号:闽ICP备2023013482号 网站地图