公司头条

推广运维推广运维
关注: 0贴子:13 排名: 3 
0 回复贴,13 次查看
<返回列表

python实战项目,获得指定网站要害词百度排名,为搜索引...

2

主题

2

帖子

14

积分

新手上路

Rank: 1

积分
14
发表于 2018-11-6 13:48:53
本节将进行一个新的python实战项目,能够搜索自己网站要害词在搜索引擎中的排名。
实现方案

我们以百度搜索为例,搜索要害词后,会有很多结果。可以看到,每一个结果都市有部分网站域名的,如果某一条结果里的链接是自己网站的,那末,这条结果就属于我们的,获得其排名就能够了。

右键,查看网页源代码,很轻易就发现了我们需要的 要害词 和 网站域名 两项要害信息都在,那末,我们完全可以根据 python实战项目,建造网络爬虫爬取百度美女图片一节抓守信息。

python项目实战,获得网站要害词排名

分两步走:
1. python实战项目,获得搜索信息

仔细视察搜索结果页地址栏的地址,很容易发现纪律,只需要在浏览器地址栏输入:
http://www.百度.com/s?wd=【搜索内容】&pn=【页码】0按回车,就能够实现搜索。那末,我们的python实战项目代码可以以下写:
#coding:utf-8import requestsurl = u"http://www.百度.com/s?wd=%s&pn=%d0" % (u"向日葵智能|智能创意", 1)data = requests.get(url)print data.content可以发现,我们获获得了网页的源代码,即搜索信息。
2. python实战项目,正则表达式提取有用信息

正则表达式的使用,可以参照:python基础,甚么是正则表达式,正则表达式的使用,要害就是找纪律。首先,要明确的是,我们只体贴网站域名信息,只要找出域名信息即可。
在源代码页搜索这串字符,发现一共发现了10条结果,这与本页一共10项搜索结果对应起来了,因此我们正则匹配这串字符串是可行的。正则代码可以以下写:
#coding:utf-8import requestsurl = u"http://www.百度.com/s?wd=%s&pn=%d0" % (u"向日葵智能|智能创意", 1)data = requests.get(url)#print data.contentpattern = re.compile(r'class="c-showurl" style="text-decoration:none;">(.*?) ', re.S)result = pattern.findall(data.content)for item in result:    print item运行剧本,发现网站域名被提掏出来了。
3. python实战项目,计算网站要害词排名

接下来的工作就是字符串操作了,只需要判断自己网站的域名是不是泛起在搜索到的结果中就好了。找到后,计算编号,就是**网站要害词排名**了。不多说,python代码以下:
# searchTxt:要阐发的网页源代码,webUrl:网站的网址i = 0def KeywordRank(searchTxt, webUrl):    global i    try:        pattern = re.compile(r'class="c-showurl" style="text-decoration:none;">(.*?) ', 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.百度.com/s?wd=%s&pn=%d0" % (content, page)        data = requests.get(url)        return data.content    except Exception, e:        return Noneif __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实战项目剧本,发现成功了,剧本认为我们的网站要害词排第 8 名。

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

回复

使用道具 举报

快速回帖 使用高级回帖 (可批量传图、还有插入视频等功能哦!)

您需要登录后才可以回帖 登录 | 立即注册

  • 发布信息免费
  • 发贴彩色标题
  • 签到额外经验值

如何快速提升等级,查看[积分规则]

活动中心

查看更多>>
最新热版
会员排行
©2001-2018 公司头条 https://www.ewxf.com中国互联网举报中心沪ICP备14046342号-13 本站内容均来自网络转载或网友提供,如有侵权请及时联系我们,Cxy@izhiben.CN 公安网备|网站地图 企业map 产品map 新闻map 其他map
Archiver手机版小黑屋广告合作QQ:864633495
发帖 客服 微信 手机版 举报