通过关键词采集文章采集api(来来去去都是这些东西,没啥特别的吧!(组图))

优采云 发布时间: 2021-09-30 14:15

  通过关键词采集文章采集api(来来去去都是这些东西,没啥特别的吧!(组图))

  对于词的研究,每个seoer都必须知道,而且除了比较流行的百度相关搜索词*敏*感*词*,但是大多数人都是针对下拉框 爬字量,毕竟百度下拉框关键词采集已经泛滥了。

  百度下拉菜单的正式名称是百度建议词,也称为百度建议词或百度下拉菜单。是百度为方便广大网民搜索,提高输入效率而推出的一项服务。

  例如,当我们在百度中输入“营销”两个词时,百度从推荐词条库中检索以“营销”两个词开头的词条,并按照搜索量从大到小排序。形成一个下拉菜单。百度下拉菜单的最大数量为 10。

  百度下拉框关键词的含义:

  它可以用作长尾词和标题。毕竟用户在搜索时可以触发关键词搜索选择。

  很多人用下拉词来引导流量,比如曝光品牌,导向指定页面。您可以采集分析竞争对手的相关操作,也可以自行曝光自己的品牌。不同的人有不同的看法!

  网上有很多带有下拉词的采集工具和源码。到这里,渣子就被整理出来了。让我们再次分享它。我哥昨晚问的。事实上,它来来去去。这些东西没什么特别的吧?

  版本一:

  直接网页抓取实现下拉词采集

  

  def get_keywords(word):

url=f"https://www.baidu.com/sugrec?pre=1&ie=utf-8&json=1&prod=pc&wd={word}"

html=requests.get(url)

html=html.json()

#print(html)

#print(html['g'])

key_words=[]

for key_word in html['g']:

print(key_word['q'])

key_words.append(key_word['q'])

#print(key_words)

return key_words

  版本二:

  使用官方界面

  例如:

  /5a1Fazu8AA54nxGko9WTAnF6hhy/su?wd=seo&sugmode=2&json=1&p=3&sid=1427_21091_21673_22581&req=2

  

  def get_sug(word):

url = 'https://sp0.baidu.com/5a1Fazu8AA54nxGko9WTAnF6hhy/su?wd=%s&sugmode=2&json=1&p=3&sid=1427_21091_21673_22581&req=2&pbs=%%E5%%BF%%AB%%E6%%89%%8B&csor=2&pwd=%%E5%%BF%%AB%%E6%%89%%8B&cb=jQuery11020924966752020363_1498055470768&_=1498055470781' % word

r = requests.get(url, verify=False) # 请求API接口,取消了HTTPS验证

cont = r.content # 获取返回的内容

res = cont[41: -2].decode('gbk') # 只取返回结果中json格式一段,并且解码为unicode

res_json = json.loads(res) # json格式转换

return res_json['s'] # 返回关键词列表

  版本三:

  另一个接口地址

  

  def get_word(word):

url=f'http://suggestion.baidu.com/su?wd={word}&sugmode=3&json=1'

html=requests.get(url).text

html=html.replace("window.baidu.sug(",'')

html = html.replace(")", '')

html = html.replace(";", '')

#print(html)

html = json.loads(html)

key_words=html['s']

#print(key_words)

return key_words

  本质上二和三性质是一样的,大家参考使用吧!

  扩大的视野:

  这里有个小技巧,就是在关键词后面输入w,会出现一系列以拼音“w”开头的关键词,比如“黄山w”,会出现“黄山温泉”, 《黄山万集》《天》《黄山五绝》等关键词(见上图)。因此,当我们遍历a~z时,会出现更多的关键词。

  def get_more_word(word):

more_word=[]

for i in 'abcdefghijklmnopqrstuvwxyz':

more_word.extend(get_keywords('%s%s'%(word,i)))

print(more_word)

print(len(more_word))

print(len(list(set(more_word))))

return list(set(more_word)) #去重操作

def get_more_sug(word):

all_words = []

for i in 'abcdefghijklmnopqrstuvwxyz':

all_words += get_sug(word+i) # 遍历字母表 | 利用了上一个函数

print(len(list(set(all_words))))

return list(set(all_words)) # 去

  此处选择版本2的接口形式,以免不协调

  但是如果使用requests模块请求无效的证书网站,会直接报错

  可以将verify参数设置为False来解决这个问题

  r = requests.get(url, verify=False)

  但是设置 verify=False 会抛出 InsecureRequestWarning 警告

  看起来很糟糕

  

  解决方案:

  from requests.packages.urllib3.exceptions import InsecureRequestWarning

# 禁用安全请求警告

requests.packages.urllib3.disable_warnings(InsecureRequestWarning)

  运行结果

  

  

  

  

  为了方便大家使用和玩,本渣特为大家打包了低版本的exe工具,方便大家使用!

  exe工具获取

  

  百度网盘

  /s/1Zqst5fLhBZrIiR3XA14cXQ

  提取码:

  c7mt

  参考资料:百度

  百度下拉-百度百科

  /item/%E7%99%BE%E5%BA%A6%E4%B8%8B%E6%8B%89/7139864?fr=阿拉丁

  张亚楠博客-seo技术流程

  PYTHON批量挖矿百度下拉框关键词

  /post/get-baidu-suggestions-by-python

  Sch01aR#-博客园

  Python-requests取消SSL验证警告InsecureRequestWarning解决方案

  /sch01ar/p/8432811.html

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线