Welcome to the website navigation,本站只接受合法正规的企业网站,欢迎站长们提交你的网站获得展示和流量有任何问题请联系站长,欢迎大家加入本站。

                
提交网站
  • 网站:76083
  • 待审:5
  • APP:577
  • 文章:304411
  • 会员:56004
文字内链包年1000元 文字内链包年1000元 文字内链包年1000元 AI办公网站 AI绘画工具 AIchat

名站网址导航为需要网站seoseo的朋友提供seo相关的教程知识。

利用python来完成关键词挖掘,获取关键词数据是seo中比较基础的部分,渠道很多。这次我们就其中关键词搜集的一种方式来展开,来采集凤巢的关键词数据,对关键词的分析,以及使用才是重点!
IMJAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!

python与seo

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

python登录百度凤巢

百度、新浪等大平台的模拟登录本身难度就比较大,百度凤巢又涉及资金和短信验证,所以模拟登录成本较高。这里我们采用简单的操作方法,利用cookies来完成登录,这样只要在自己的浏览器登录账户,抓一下cookies就可以完成登录了。IMJAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!

凤巢关键词提取

通过抓包发现凤巢的关键词规划师返回的是json数据,使用json模块把返回的json数据可识别,直接[‘word’]提取我们数据就可以了。IMJAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!

python代码
# -*- coding: utf-8 -*-
"""
verseion: beta二.一
说明:
百度凤巢挖词脚本 (代码符合PEP8标注)
请勿用于任何商业用户,版权最终归作者所有
"""
import requests
import json
import time
import 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 == 'cp9三六':  
	sys.stdout = UnicodeStreamFilter(sys.stdout)  

#以上为cmd下utf-8中文输出的终极解决方案!
def url_data(key,config,cookie,shibai=三):
	headers={
			'Accept': '*/*',
			'Accept-Encoding': 'gzip, deflate',
			'Accept-Language': 'zh-CN,zh;q=0.8,en;q=0.六',
			'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/五.0 (Macintosh; Intel Mac OS X 一0_一一_六) AppleWebKit/五三七.三六 '
			'(KhTML, like Gecko) Chrome/五六.0.二9二四.8七 Safari/五三七.三六'
	}
	params={
			"logid":四0一0七五0七七,
			"query":key,
			"querySessions":[key],
			"querytype":一,
			"regions":"一六",
			"device":0,
			"rgfilter":一,
			"entry":"kr_station",
			"planid":"0",
			"unitid":"0",
			"needAutounit":False,
			"filterAccountWord":True,
			"attrShowReasonTag":[],
			"attrBusinessPointTag":[],
			"attrWordContainTag":[],
			"showWordContain":"",
			"showWordNotContain":"",
			"pageNo":一,
			"pageSize":一000,
			"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-一)
	else:
		whtml.encoding="utf-8"
		try:
			resultitem = whtml.json()
		except ValueError:
			resultitem = {}
			erry = "获取不到json数据,可能是被封了吧,谁知道呢?"
		else:
			erry = None
	return resultitem,erry
	
config={
		'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,kwc
		erry=None
	return kws,erry
	
	
sfile = open('resultkeys.txt', 'w')  # 结果保存文件
faileds = open('faileds.txt', 'w')  # 查询失败保存文件
for key in open("cigeng.txt"):
	key=key.strip()
	print "正在拓展:%s"%key
	resultitem,erry=url_data(key,config,cookie)
	if erry:
		print key,erry
		faileds.write('%s\n' % key)
		faileds.flush()
		continue
	keylist,erry=key_data(resultitem)
	if erry:
		print key,erry
		faileds.write('%s\n' % word)
		faileds.flush()
		continue
	for kw in keylist:
		sfile.write('%s\n'%kw)
		faileds.flush()
		continue

代码中config和cookies的内容需要抓包获取对应数据填写即可。IMJAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!


IMJAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!

名站网址导航

网站seo接入熊掌号,网页配置并提交IMJAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!

百度熊掌号是站长、自媒体、开发者、商家等各种内容和服务提供者入驻百度的身份账号,该账号可实现包括百度搜索资源平台、百度数据开放平台、百家号自媒体平台、用户运营平台等各类平台的能力互通。开通熊掌号之后站点自然也就有了原创提交权限,同时也有抓取优待以及建库保护,结构化数据的优待。IMJAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!

关于网站seoseo的朋友提供seo相关的教程知识就说到这里,希望可以帮到大家。,

标签:

分享到:

  admin

注册时间:

网站:0 个   APP:3 个  文章:0 篇

  • 76083

    网站

  • 577

    APP

  • 304411

    文章

  • 56004

    会员

赶快注册账号,推广您的网站吧!
文章分类
热门网站
最新入驻APP小程序

宝贝市场2023-02-08

宝贝市场——买手和卖家商品展示

夺宝助手2023-02-08

夺宝助手小程序,查看每日快夺宝平

查诚信2023-02-08

查诚信是一款免费的商业查询工具

车价天天报2023-02-08

快速连接汽车销售,获知汽车最新报

考勤助理小程序2023-02-08

上班签到考勤,实时定位,后台轻松

汽车报价大全查询2023-02-08

汽车报价大全查询提供最新汽车市