python实现百度关键词排名查询 -电脑资料

就是一个简单的python查询百度关键词排名的函数,以下是一些简介:

1、UA随机

2、操作简单方便,直接getRank(关键词,域名)就可以了

3、编码转化,

python实现百度关键词排名查询

。编码方面应该没啥问题了。

4、结果丰富。不仅有排名,还有搜索结果的title,URL,快照时间,符合SEO需求

5、拿来做个软件或者自己用都很方便。

功能是单线程实现,速度慢,大家可以参考修改成自己需要的。

复制代码代码如下:

#coding=utf-8

import requests

import BeautifulSoup

import re

import random

def decodeAnyWord(w):

try:

w.decode('utf-8')

except:

w = w.decode('gb2312')

else:

w = w.decode('utf-8')

return w

def createURL(checkWord):#create baidu URL with search words

checkWord = checkWord.strip()

checkWord = checkWord.replace(' ', '+').replace('\n', '')

baiduURL = 'http://www.baidu.com/s?wd=%s&rn=100' % checkWord

return baiduURL

def getContent(baiduURL):#get the content of the serp

uaList = ['Mozilla/4.0+(compatible;+MSIE+6.0;+Windows+NT+5.1;+SV1;+.NET+CLR+1.1.4322;+TencentTraveler)',

'Mozilla/4.0+(compatible;+MSIE+6.0;+Windows+NT+5.1;+SV1;+.NET+CLR+2.0.50727;+.NET+CLR+3.0.4506.2152;+.NET+CLR+3.5.30729)',

'Mozilla/5.0+(Windows+NT+5.1)+AppleWebKit/537.1+(KHTML,+like+Gecko)+Chrome/21.0.1180.89+Safari/537.1',

'Mozilla/4.0+(compatible;+MSIE+6.0;+Windows+NT+5.1;+SV1)',

'Mozilla/5.0+(Windows+NT+6.1;+rv:11.0)+Gecko/20100101+Firefox/11.0',

'Mozilla/4.0+(compatible;+MSIE+8.0;+Windows+NT+5.1;+Trident/4.0;+SV1)',

'Mozilla/4.0+(compatible;+MSIE+8.0;+Windows+NT+5.1;+Trident/4.0;+GTB7.1;+.NET+CLR+2.0.50727)',

'Mozilla/4.0+(compatible;+MSIE+8.0;+Windows+NT+5.1;+Trident/4.0;+KB974489)']

headers = {'User-Agent': random.choice(uaList)}

r = requests.get(baiduURL, headers = headers)

return r.content

def getLastURL(rawurl): #get final URL while there're redirects

r = requests.get(rawurl)

return r.url

def getAtext(atext):#get the text with and

pat = re.compile(r'(.*?)')

match = pat.findall(atext.replace('\n', ''))

pureText = match[0].replace('', '').replace('', '')

return pureText.replace('\n', '')

def getCacheDate(t):#get the date of cache

pat = re.compile(r'.*?(\d{4}-\d{1,2}-\d{1,2})')

match = pat.findall(t)

cacheDate = match[0]

return cacheDate

def getRank(checkWord, domain): #main line

checkWord = checkWord.replace('\n', '')

checkWord = decodeAnyWord(checkWord)

baiduURL = createURL(checkWord)

cont = getContent(baiduURL)

soup = BeautifulSoup.BeautifulSoup(cont)

results = soup.findAll('table', {'class': 'result'})#find all results in this page

for result in results:

checkData = unicode(result.find('span', {'class': 'g'}))

if re.compile(r'^[^/]*%s.*?' %domain).match(checkData.replace('', '').replace('', '')): #改正则

nowRank = result['id']#get the rank if match the domain info

resLink = result.find('h3').a

resURL = resLink['href']

domainURL = getLastURL(resURL)#get the target URL

resTitle = getAtext(unicode(resLink))#get the title of the target page

rescache = result.find('span', {'class': 'g'})

cacheDate = getCacheDate(unicode(rescache)) #get the cache date of the target page

res = u'%s, 第%s名, %s, %s, %s' % (checkWord, nowRank, resTitle, cacheDate, domainURL)

return res.encode('gb2312')

break

else:

return '>100'

domain = 'www.baidu.com' #set the domain which you want to search.

print getRank('百度', domain)

您可能感兴趣的文章:

python爬虫教程之爬取百度贴吧并下载的示例

python3模拟百度登录并实现百度贴吧签到示例分享(百度贴吧自动签到)

python使用win32com在 插入html元素示例

python3.3教程之模拟百度登陆代码分享

python模拟登录百度代码分享(获取百度贴吧等级)

python模拟登录百度贴吧(百度贴吧登录)实例

python实现的一只从百度开始不断搜索的小爬虫

用python下载 的代码

Python使用Socket(Https)Post登录百度的实现代码

phpsir 开发 一个检测百度关键字网站排名的python 程序

QQ空间 搜狐微博 人人网 开心网 百度搜藏更多

Tags:python 百度 关键词

复制链接收藏本文打印本文关闭本文返回首页

上一篇:python获取网页状态码示例

下一篇:windows下wxPython开发环境安装与配置方法

相关文章

2013-11-11python迭代器的使用方法实例

2013-11-11python解析json实例方法

2014-02-02python使用7z解压软件备份文件脚本分享

2014-04-04python使用PyFetion来发送短信的例子

2014-02-02python3.3实现乘法表示例

2014-04-04python抓取网页图片并放到指定文件夹

2011-01-01初学python数组的处理代码

2011-05-05Python模块学习 re 正则表达式

2014-02-02python使用递归解决全排列数字示例

2012-10-10python笔记(1) 关于我们应不应该继续学习python

文章评论

最 近 更 新

Python 时间处理datetime实例

使用scrapy实现爬网站例子和实现网络爬虫

Python自动化测试工具Splinter简介和使用

python函数返回多个值的示例方法

Python使用

稀疏矩阵节省内存实例

使用BeautifulSoup爬虫程序获取百度搜索结

Python 分析Nginx访问日志并保存到MySQL数

Python ORM框架SQLAlchemy学习笔记之数据

python zip文件 压缩

python使用os模块的os.walk遍历文件夹示例

热 点 排 行

Python入门教程 超详细1小时学会

python 中文乱码问题深入分析

比较详细Python正则表达式操作指

Python字符串的encode与decode研

Python open读写文件实现脚本

Python enumerate遍历数组示例应

Python 深入理解yield

Python+Django在windows下的开发

python 文件和路径操作函数小结

python 字符串split的用法分享

相关文章

支付宝提现收费标准

支付宝要做的是什么呢?取代银行。下面聘才小编为大家收集整理的2016年支付宝提现收费标准。欢迎大家阅读!!不管是互联网产品,还是生活中的规则,我们看一项规则的改变,就得去琢磨背后的逻辑,往往包含着规则...
资料大全2012-04-05
支付宝提现收费标准

百家姓排名大全拼音【完整】

姓氏是一个人的家族血缘关系的标志和符号,也代表了一个国家的特殊文化,百家姓排名大全拼音【完整】。在中国,《百家姓》可以说囊括了大部分姓氏。下面是YJBYS小编精心整理的百家姓排名大全拼音,希望能给大家...
资料大全2012-06-06
百家姓排名大全拼音【完整】

黑豆的主要功效与作用有哪些

黑豆的营养价值黑豆具有高蛋白、低热量的特性。黑豆在日常生活中比较常见,很多人都非常喜欢自己买了黑豆然后熬制成汤。黑豆的营养价值很全面,含有丰富的蛋白质、维生素等,是非常好的补充蛋白质的选择。下面让我们...
资料大全2014-09-03
黑豆的主要功效与作用有哪些

梦想是什么

梦想是什么1、梦想是生活的延伸和拓展;梦想是人类进步的动力;梦想是创造的源泉。2、梦想是远处的灯塔,指示前进方向;梦想是雪后那抹阳光,温暖一颗心;梦想是五彩的气泡,美丽又易逝。3、梦想是春天,孕育着希...
资料大全2014-04-08
梦想是什么

正常人憋气多长时间注意什么?

现在的人们对于自己平时生活中的健康要求非常的高,所以平时人们都很希望通过一些科学的办法来达到锻炼身体的效果,但是很多人对于这方面并不是很了解所以没有很科学的办法,特别是一些人在进行游泳锻炼的时候,他们...
资料大全2019-06-05
正常人憋气多长时间注意什么?

安徽传统戏剧庐剧

近年来,随着生产、生活方式的变化,文化需求的多元化趋势日益明显,新型的文化娱乐方式对戏曲产生了巨大的冲击,致使庐剧的生存空间不断缩小,能演大戏的屈指可数。庐剧的抢救、保护工作应尽快提到议事日程上来。我...
资料大全2013-06-05
安徽传统戏剧庐剧