百度竞价-关键词规划师关键词采集

百度竞价-关键词规划师关键词采集
此篇⽂章,建议在PC端观看。
整篇阅读时间,看个⼈理解。
c o nfig 以及 c o o k ie需要⾃⾏抓包填写
userid、to en、eventId、r eqid这四个值的来源,为抓包'关键词规划师',
user id、to k en、eventId、reqid这四个值的来源,为抓包'关键词规划师',
user id为整数类型,to k en、eventId、reqid为字符串类型。
userid为整数类型,to
百度竞价中的关键词规划师,是SEO从业者很好的关键词来源。
那要如何才能获取这⾥的关键词内容呢?
本代码是基于⽹络上2.7的版本,修改成3.*也能使⽤。
(其实根本就只是改了⼀下print,23333)
同样,本代码没有⼀步步教你如何解决登陆、获取cookie的问题,直接是采⽤登陆后的cookie,以及登陆后的from_data数据。注意看下⾯代码中顶部的注释,不然运⾏不起来别怪我。
# -*- coding: utf-8 -*-
#本代码改编⾃⽹络上Python2.7版本代码。
#Python版本:3.*,需要安装requests,JSON库不知道要不要重新安装
#使⽤本代码,⾸先将代码保存为.py⽂件,并且在相同⽬录中新建名字为cigeng的txt⽂件
#在⽂件中输⼊要采集的关键词,⼀⾏⼀个。保存。
#成功采集后的数据,保存在相同⽬录中⽂件中。
#如果只要关键词,不要其他⿊马等数据,那么就修改key_data函数下else中的数据。
import requests
import json
acceptlanguage
import time
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,
#在下⾯config这个变量值下⾯的cookie中粘贴进抓包后的cookie,这⾥不要动。
'Host': 'fengchao.baidu',
'Origin': 'fengchao.baidu',
'Referer': 'fengchao.baidu/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="fengchao.baidu/nirvana/request.ajax?path=jupiter/GET/kr/word&reqid=%s"%config['reqid']    try:
whtml=requests.post(qurl,headers=headers,data=from_data)
ptions.RequestException:
resultitem={}
erry="请求三次都是错误!"
if shibai > 0:
return url_data(key,config,cookie,shibai-1)
else:
try:
resultitem = whtml.json()
except ValueError:
resultitem = {}
erry = "获取不到json数据,可能是被封了吧,谁知道呢?"
else:
erry = None
return resultitem,erry
config={
#这部分数据和下⾯的cookie,直接开浏览器抓包就能看到相应数据。复制黏贴到相应位置
'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就可以。
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)
##          kws.append(str(word))
##          print (word)
erry=None
return kws,erry
sfile = open('', 'w')  # 结果保存⽂件
faileds = open('', 'w')  # 查询失败保存⽂件
for key in open(""):  #要查询的关键词存放的载体,⼀⾏⼀个,同当前代码⽂件相同⽬录。
key=key.strip()
print ("正在拓展:%s"%key)
resultitem,erry=url_data(key,config,cookie)
if erry:

本文发布于:2024-09-21 15:30:04,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/3/371769.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:关键词   数据   获取
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议