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

SEO优化评论69

利用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主管应具备这样的技能

  1、一个好的SEO主管,肯定是要熟悉SEO的工作流程,这样不管在什么环节上,主管都能有所把控;  2、一个好的SEO主管,必须要具备对自己网站的熟悉,不管是结构还是内容上,都需要有所了解,这样你才...
搜索引擎的排名原理 SEO优化

搜索引擎的排名原理

  要了解搜索引擎优化,首先了解搜索引擎的基本工作原理。搜索引擎排名大致上可以分为四个步骤。  爬行和抓取  搜索引擎派出一个能够在网上发现新网页并抓取文件的程序,这个程序通常被称为蜘蛛或机器人。搜索...
SEO浪子:移动互联网营销必胜法则 SEO优化

SEO浪子:移动互联网营销必胜法则

对于品牌营销来说,消费者不再是单纯的受众,而是已经完全参与到品牌的塑造与传播中,成为品牌的推广者;同时,品牌与消费者实现直接的对话与沟通,企业可以通过聆听消费者的声音获得第一手信息。这种变化要求企业必...
匿名

发表评论

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