网站seo优化的核心目的就是提升关键词的排名了,那么对seo关键词排名的监控也是非常重要的,这次用python写了一个关键词查询源码,主要是查询关键词是否在首页前10的排名,第一页之后的就不查询了。那么主要的查询逻辑以及遇到的问题总结一下。
一、查询关键词是否收录
既然查询关键词的排名,那么,肯定要知道该关键词在百度是否收录,没有收录,就不需要再查询了。
能查到收录的关键词,就可以进行下一步,去查询该关键词的排名。
在代码中需要对关键词的收录情况进行判断分析,有收录的关键词返回对应网址或者熊掌号,没有则返回None。
二、切换tn、cookie、ip和ua
切换参数,进行百度反爬策略
在ip方面,准备一些百度的host的ip地址,用百度host的ip地址进行请求,也可以响应数据
三、requests请求获取源码
通过requests请求库,对编辑的url参数进行请求获取响应源码
四、解析响应源码
利用pyquery库对响应源码进行解析,获取排名的id
五、导出表格
利用openpyxl创建表格,将关键词、网址和排名输入到表格中进行保存。
最终,检查一下关键词排名是否准确
可以看到爬取到关键词排名为4,在百度上输入该关键词,关键词在第4的位置。