python实战项目,获取指定网站关键词百度排名,为seo提供参考资料

标签:  python实战项目   python网站排名   python关键词排名   python seo   python网站seo

原帖: 向日葵智能


前言


先解释一下标题的意思吧。现在个人站长已经非常多了,想要网站有流量,一个非常不错的渠道就是搜索引擎,用户搜索某个关键词,如果能搜到自己的网站,那么,流量肯定直线上升。这就需要seo,如果能够知道在搜索引擎中,自己网站的关键词排名怎样,肯定对seo有帮助,不至于一眼黑。

各大站长工具似乎也能够提供关键词排名查询,我也用过,但是它们只能提供一部分关键词的排名,而且似乎只能提供前100的排名。

本节将进行一个新的python实战项目,能够搜索自己网站关键词在搜索引擎中的排名。

实现方案


咱们以百度搜索为例,搜索关键词后,会有很多结果。可以看到,每个结果都会有部分网站域名的,如果某一条结果里的链接是自己网站的,那么,这条结果就属于咱们的,获取其排名就可以了。


右键,查看网页源代码,很轻易就发现了咱们需要的 关键词 和 网站域名 两项关键信息都在,那么,咱们完全可以按照  python实战项目,制作网络爬虫爬取百度美女图片一节抓取信息。


python项目实战,获取网站关键词排名


分两步走:

1. python实战项目,获取搜索信息

仔细观察搜索结果页地址栏的地址,很容易发现规律,只需要在浏览器地址栏输入:

http://www.baidu.com/s?wd=【搜索内容】&pn=【页码】0

按回车,就可以实现搜索。那么,咱们的python实战项目代码可以如下写:

#coding:utf-8
import requests
url = u"http://www.baidu.com/s?wd=%s&pn=%d0" % (u"向日葵智能|智能创意", 1)
data = requests.get(url)
print data.content
Python
Copy

可以发现,咱们获得到了网页的源代码,即搜索信息。

2. python实战项目,正则表达式提取有用信息

正则表达式的使用,可以参照: python基础,什么是正则表达式,正则表达式的使用,关键就是找规律。首先,要明确的是,咱们只关心网站域名信息,只要找出域名信息即可。

在源代码页搜索这串字符,发现一共发现了10条结果,这与本页一共10项搜索结果对应起来了,因此咱们正则匹配这串字符串是可行的。正则代码可以如下写:

#coding:utf-8
import requests
url = u"http://www.baidu.com/s?wd=%s&pn=%d0" % (u"向日葵智能|智能创意", 1)
data = requests.get(url)
#print data.content

pattern = re.compile(r'class="c-showurl" style="text-decoration:none;">(.*?)&nbsp', re.S)
result = pattern.findall(data.content)

for item in result:
    print item
Python
Copy

运行脚本,发现网站域名被提取出来了。

3. python实战项目,计算网站关键词排名

接下来的工作就是字符串操作了,只需要判断自己网站的域名是否出现在搜索到的结果中就行了。找到后,计算编号,就是**网站关键词排名**了。不多说,python代码如下:

# searchTxt:要分析的网页源代码,webUrl:网站的网址
i = 0
def KeywordRank(searchTxt, webUrl):
    global i
    try:
        pattern = re.compile(r'class="c-showurl" style="text-decoration:none;">(.*?)&nbsp', re.S)
        result = pattern.findall(searchTxt)     
        for item in result:
            i = i+1
            print "rank %d: %s"%(i,item)
            if "xrkzn.cn" in item:
                return i
    except Exception, e:
        print "error occurs"
        return None
    return None

# content:要搜索的关键词, page:要搜索的页码
def BaiduSearch(content, page):
    try:
        url = u"http://www.baidu.com/s?wd=%s&pn=%d0" % (content, page)
        data = requests.get(url)
        return data.content
    except Exception, e:
        return None

if __name__ == "__main__":
    loops = 101     # 最多查到第 101 页
    page = 0
    while(loops):
        searchTxt = BaiduSearch(u"向日葵智能|智能创意", page)
        page = page+1
        rank = KeywordRank(searchTxt, "xrkzn.cn")
        if None!=rank:
            print u"输入的关键词排在第 %d 名" % rank
            break
        loops = loops - 1
Python
Copy

执行python实战项目脚本,发现成功了,脚本认为咱们的网站关键词排第 8 名。

咱们去浏览器搜索一下,发现的确是排在第 8 名。这样,我们就完整了一个新的python实战项目,获取指定网站关键词百度排名,为seo提供参考资料

原帖地址: https://www.xrkzn.cn/python-projects/python-project-get-website-keyword-rank-for-seo/
版权声明:本文为Ryuchong原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/Ryuchong/article/details/80687447

智能推荐

Spring——事务

什么是事务? (1)事务是数据库操作最基本单元,逻辑上一组操作,要么都成功,如果有一个失败所有操 作都失败 (2)典型场景:银行转账 lucy 转账 100 元 给 mary lucy 少 100,mary 多 100 事务四个特性(ACID) (1)原子性 (2)一致性 (3)隔离性 (4)持久性 事务操作(搭建事务操作环境) 1、创建数据库表,添加记录 2、创建 service,搭建 dao,...

BPF数据传递的桥梁——BPF Map(一)

Docker 技术鼻祖系列 对 ebpf 技术感兴趣的同学可以订阅作者的博客主题: https://davidlovezoe.club/wordpress/archives/tag/ebpf 这是一个实战系列文章,它是eBPF 学习计划[1]里面的应用场景之网络部分,终极目标是源码级别学习云原生网络方案 Cilium(声明:下文提到的 BPF 字样是泛指,包括 cBPF 和 eBPF)。本篇文章从...

SpringBoot实战(三)——junit4单元测试

利用SpringBoot搭建的项目含有非常多的默认配置,所以搭建起来非常方便,单元测试也不例外,简单几步就可以实现,直接看代码: 1、pom.xml引入test测试: 2、在src/test/java里创建class进行测试: Application是项目启动类的名称,且可以利用Autowired注入service等等使用。。。。 最后方法名上右键即可进行测试: 另外项目打包时建议去除TEST测试...

蓝桥2——Beaver's Calculator

问题描述   从万能词典来的聪明的海狸已经使我们惊讶了一次。他开发了一种新的计算器,他将此命名为”Beaver’s Calculator 1.0”。它非常特别,并且被计划使用在各种各样的科学问题中。   为了测试它,聪明的海狸邀请了n位科学家,编号从1到n。第i位科学家给这个计算器带来了 ki个计算题。第i个科学家带来的问题编号1到n,并且它们必须按照编号一个一...

第九届蓝桥杯省赛(Java B)

1.第几天 2000年的1月1日,是那一年的第1天。 那么,2000年的5月4日,是那一年的第几天? 注意:需要提交的是一个整数,不要填写任何多余内容。 思路:直接excel,两个日期相差124天,由于2000/1/1算第一天,所以ans=125。 2.方格计数 如图所示,在二维平面上有无数个1x1的小方格。 我们以某个小方格的一个顶点为圆心画一个半径为1000的圆。 你能计算出这个圆里有多少个完...

猜你喜欢

安装完eric6,找不到启动的文件的解决办法

辛辛苦苦安装完Eric6,唉?我的启动文件呢?没有图标,没有提示,什么都没有,亲爱的Eric6,你去哪了? 标准解决Eric6安装问题,参考:https://blog.csdn.net/qq_39091354/article/details/79947264 解决方法,去找python的目录,你的菜单里肯定有python的IDE快捷方式。找到Eric6的目录,把代码中的目录改为你的目录,保存文本文...

静态代码块、构造代码块、局部代码块(java)

代码块:就是用{}括起来的有一定特殊作用的代码 首先看如下的一段代码: class Baby { int age; String name; Baby() {} Baby(String name) { this.name = name; } } class StaticDemo { public static void main(String[] args) { Baby p1 = new Bab...

CEF小白人系列9-用VS2015创建一个干净CEF项目(2)创建项目

被催更了,接上篇 。环境已经准备完毕。 创一个空白项目,配置相关环境。 1.启动Vs2015创建一个空白项目。 确定 --》下一步 --》选空项目 --》完成 2.添加一个c++文件 main.cc文件如下: 3.在生成的工程里右键--》属性 常规设置:目标平台版本可以选择你需要的。 C/C++--》附加包含目录 C/C++--》代码生成--》运行库 链接器--》所有选项-》附加库目录 链接器--...

14天数据分析与机器学习实践之Day02——可视化库matpltlib应用总结

14天数据分析与机器学习实践之Day02——可视化库matpltlib应用总结 折线图绘制 基本的图 创建画布并展示 取出前12个数据 以DATE为x轴以VALUE为y轴 将坐标轴调斜 横轴旋转45° 将横轴纵着写(旋转90°) 并且添加x,y轴的名字和标题 子图操作 plt.figure()找到画图域 fig.add_subplot(3,2,1)表示一个三...

利用 FC OSS 快速搭建 Serverless 实时按需图像处理服务

作者:泽尘 简介 随着具有不同屏幕尺寸和分辨率设备的爆炸式增长,开发人员经常需要提供各种尺寸的图像,从而确保良好的用户体验。目前比较常见的做法是预先为一份图像存放多份具有不同尺寸的副本,在前端根据用户设备的 media 信息来请求特定的图像副本。 预先为一份图像存放多份具有不同尺寸副本的行为,经常是通过 阿里云函数计算 FC 以及阿里云对象存储 OSS 两大产品实现的。用户事先为 FC 中的函数设...

哆哆女性网游戏人生小说你跑不过我吧上位电影完整版赘婿电视剧下载探索者的目标漫画杨幂孤岛惊魂如何起艺名取艺名大全cost是什么意思马起名易氏女孩起名字aux接口怎么用莫姓女如何起名牛年女孩起名字大全庆余年百度云在线观看奸臣夫人的悠闲日子给姓牟的男孩起名子科技公司起名大全最新两个字迎难而上奇幻小说推荐勿的拼音言承旭电影笔记本键盘锁定冶金自动化研究设计院伺狼喂虎起英文名网站有哪个姓李的小孩起人名freeones雷姓起名佩罗斯佩罗在一起排名淀粉肠小王子日销售额涨超10倍罗斯否认插足凯特王妃婚姻不负春光新的一天从800个哈欠开始有个姐真把千机伞做出来了国产伟哥去年销售近13亿充个话费竟沦为间接洗钱工具重庆警方辟谣“男子杀人焚尸”男子给前妻转账 现任妻子起诉要回春分繁花正当时呼北高速交通事故已致14人死亡杨洋拄拐现身医院月嫂回应掌掴婴儿是在赶虫子男孩疑遭霸凌 家长讨说法被踢出群因自嘲式简历走红的教授更新简介网友建议重庆地铁不准乘客携带菜筐清明节放假3天调休1天郑州一火锅店爆改成麻辣烫店19岁小伙救下5人后溺亡 多方发声两大学生合买彩票中奖一人不认账张家界的山上“长”满了韩国人?单亲妈妈陷入热恋 14岁儿子报警#春分立蛋大挑战#青海通报栏杆断裂小学生跌落住进ICU代拍被何赛飞拿着魔杖追着打315晚会后胖东来又人满为患了当地回应沈阳致3死车祸车主疑毒驾武汉大学樱花即将进入盛花期张立群任西安交通大学校长为江西彩礼“减负”的“试婚人”网友洛杉矶偶遇贾玲倪萍分享减重40斤方法男孩8年未见母亲被告知被遗忘小米汽车超级工厂正式揭幕周杰伦一审败诉网易特朗普谈“凯特王妃P图照”考生莫言也上北大硕士复试名单了妈妈回应孩子在校撞护栏坠楼恒大被罚41.75亿到底怎么缴男子持台球杆殴打2名女店员被抓校方回应护栏损坏小学生课间坠楼外国人感慨凌晨的中国很安全火箭最近9战8胜1负王树国3次鞠躬告别西交大师生房客欠租失踪 房东直发愁萧美琴窜访捷克 外交部回应山西省委原副书记商黎光被逮捕阿根廷将发行1万与2万面值的纸币英国王室又一合照被质疑P图男子被猫抓伤后确诊“猫抓病”

哆哆女性网 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化