python与seo,Python批量挖掘百度凤巢关键词

SEO优化评论49

利用python来完成关键词挖掘,获取关键词数据是seo中比较基础的部分,渠道很多,开水以前也有专门的讲解文章搜索需求挖掘,推广词库收集整理。这次我们就其中关键词搜集的一种方式来展开,来采集凤巢的关键词数据,对关键词的分析,以及使用才是重点!
python与seo,Python批量挖掘百度凤巢关键词-开水网络

python与seo

为什么要使用python来完成呢,因为如果直接在凤巢后台操作,不可以批量完成,拓展大量的关键词就非常的麻烦;也有人会说到有一系列的软件,软件有一个缺点就是要登录,对我们的账户安全没有保障,在一个就是还得忍受软件提供商的广告,能自己做的就不用别人的。来说说实现Python批量挖掘百度凤巢关键词过程的一些要点。

python登录百度凤巢

百度、新浪等大平台的模拟登录本身难度就比较大,百度凤巢又涉及资金和短信验证,所以模拟登录成本较高。这里我们采用简单的操作方法,利用cookies来完成登录,这样只要在自己的浏览器登录账户,抓一下cookies就可以完成登录了。

凤巢关键词提取

通过抓包发现凤巢的关键词规划师返回的是json数据,使用json模块把返回的json数据可识别,直接[\'word\']提取我们数据就可以了。

python代码

# -*- coding: utf-8 -*-\"\"\"verseion: beta2.1说明:百度凤巢挖词脚本 (代码符合PEP8标注)请勿用于任何商业用户,版权最终归作者所有\"\"\"import requestsimport jsonimport timeimport sys  reload(sys)sys.setdefaultencoding( \"utf-8\" )class UnicodeStreamFilter:  def __init__(self, target):  self.target = target  self.encoding = \'utf-8\'  self.errors = \'replace\'  self.encode_to = self.target.encoding  def write(self, s):  if type(s) == str:  s = s.decode(\"utf-8\")  s = s.encode(self.encode_to, self.errors).decode(self.encode_to)  self.target.write(s)    if sys.stdout.encoding == \'cp936\':  sys.stdout = UnicodeStreamFilter(sys.stdout)  #以上为cmd下utf-8中文输出的终极解决方案!def url_data(key,config,cookie,shibai=3):headers={\'Accept\': \'*/*\',\'Accept-Encoding\': \'gzip, deflate\',\'Accept-Language\': \'zh-CN,zh;q=0.8,en;q=0.6\',\'Connection\': \'keep-alive\',\'Content-Type\': \'application/x-www-form-urlencoded\',\'Cookie\': cookie,\'Host\': \'fengchao.baidu.com\',\'Origin\': \'http://fengchao.baidu.com\',\'Referer\': \'http://fengchao.baidu.com/nirvana/main.html?userid=%s\' % config[\'userid\'],\'User-Agent\': \'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 \'\'(KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36\'}params={\"logid\":401075077,\"query\":key,\"querySessions\":[key],\"querytype\":1,\"regions\":\"16\",\"device\":0,\"rgfilter\":1,\"entry\":\"kr_station\",\"planid\":\"0\",\"unitid\":\"0\",\"needAutounit\":False,\"filterAccountWord\":True,\"attrShowReasonTag\":[],\"attrBusinessPointTag\":[],\"attrWordContainTag\":[],\"showWordContain\":\"\",\"showWordNotContain\":\"\",\"pageNo\":1,\"pageSize\":1000,\"orderBy\":\"\",\"order\":\"\",\"forceReload\":True}from_data={\'params\':json.dumps(params),\'path\':\'jupiter/GET/kr/word\',\'userid\':config[\'userid\'],\'token\':config[\'token\'],\'eventId\':config[\'eventId\'],\'reqid\':config[\'reqid\']}qurl=\"http://fengchao.baidu.com/nirvana/request.ajax?path=jupiter/GET/kr/word&reqid=%s\"%config[\'reqid\']try:whtml=requests.post(qurl,headers=headers,data=from_data)except requests.exceptions.RequestException:resultitem={}erry=\"请求三次都是错误!\"if shibai > 0:return url_data(key,config,cookie,shibai-1)else:whtml.encoding=\"utf-8\"try:resultitem = whtml.json()except ValueError:resultitem = {}erry = \"获取不到json数据,可能是被封了吧,谁知道呢?\"else:erry = Nonereturn resultitem,erryconfig={\'userid\': ,\'token\':\' \',\'eventId\':\' \',\'reqid\':\' \'}cookie=\" \"def key_data(resultitem):kws=[\'关键词\\t日均搜索量\\tpc\\t移动\\t竞争度\\n\']try:resultitem=resultitem[\'data\'][\'group\'][0][\'resultitem\']except (KeyError, ValueError, TypeError):resultitem=[]erry=\"没有获取到关键词\"else:for items in resultitem:word=items[\'word\']pv=items[\'pv\']#日均搜索量pvPc=items[\'pvPc\']pvWise=items[\'pvWise\']kwc=items[\'kwc\']#竞争度kwslist=str(word)+\'\\t\'+str(pv)+\'\\t\'+str(pvPc)+\'\\t\'+str(pvWise)+\'\\t\'+str(kwc)+\'\\n\'kws.append(str(kwslist))print word,pv,pvPc,pvWise,kwcerry=Nonereturn kws,errysfile = open(\'resultkeys.txt\', \'w\')  # 结果保存文件faileds = open(\'faileds.txt\', \'w\')  # 查询失败保存文件for key in open(\"cigeng.txt\"):key=key.strip()print \"正在拓展:%s\"%keyresultitem,erry=url_data(key,config,cookie)if erry:print key,erryfaileds.write(\'%s\\n\' % key)faileds.flush()continuekeylist,erry=key_data(resultitem)if erry:print key,erryfaileds.write(\'%s\\n\' % word)faileds.flush()continuefor kw in keylist:sfile.write(\'%s\\n\'%kw)faileds.flush()continue

代码中config和cookies的内容需要抓包获取对应数据填写即可。

 
SEO应重新深入认识这样才对你有所提升? SEO优化

SEO应重新深入认识这样才对你有所提升?

但是一个网站的SEO优化却被大家总结为了两大点:1、网站内容优化网站内容优化在一些人的眼里就是发发文章,ctrl+c、ctrl+v如此简单。2、发外链发外链就是大量的到处发、到处灌水或购买大把链接来提...
SEO优化技巧培训:这些改动都会影响到SEO SEO优化

SEO优化技巧培训:这些改动都会影响到SEO

很多网站可能会由于网站设计不科学、不美观,或者出于网站功能升级的需要对网站进行改版,但网站改版带来的影响轻则引起流量短期波动,重则被搜索引擎k站,所以网站改版一定要谨慎,特别是大的改动,像那种连内容类...
匿名

发表评论

匿名网友
:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: