SEO工具脚本,Python百度下拉框关键字采集工具

优采云 发布时间: 2020-08-06 06:12

  对于单词研究,每个人都必须知道. 除了较流行的与百度相关的搜索词外,百度下拉框中的关键字也应由许多人进行研究,但大多数人都将目标放在下拉框中. 毕竟,百度下拉框关键字的采集量已经泛滥成灾.

  “百度”下拉菜单的正式名称是“百度建议词”,也称为“百度建议词”或“百度”下拉菜单. 它是百度推出的一项服务,目的是促进互联网用户的搜索并提高输入效率.

  例如,当我们在百度中输入两个单词“ marketing”时,百度会从推荐条目数据库中检索以两个单词“ marketing”开头的条目,并根据搜索量从大到小排序,分为下拉菜单. 百度下拉菜单的最大数量为10.

  百度下拉框中的关键字含义:

  它可以用作长尾单词,也可以用作标题,毕竟这是可以在用户搜索时触发的关键字搜索选择.

  许多人使用下拉字词来引导访问量,例如暴露品牌,从而引向指定页面. 您可以采集和分析竞争对手的相关业务,也可以自己展示自己的品牌. 不同的人有不同的看法!

  Internet上有许多采集工具和下拉单词的源代码. 在这里,这个浮渣已经被清理掉了. 让我们再分享一次. 我哥哥昨晚问了这个. 实际上,这一切都在进行中. 这些东西没什么特别的!

  第一版:

  直接捕获网页以实现下拉单词的采集

  

  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

  第二版:

  使用官方界面

  例如:

  

  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的界面形式,以避免统一

  但是,如果您使用请求模块来请求证书无效的网站,则会直接报告错误

  您可以将verify参数设置为False来解决此问题

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

  但是设置verify = False会引发InsecureRequestWarning警告

  这看起来很糟糕

  

  解决方案:

  from requests.packages.urllib3.exceptions import InsecureRequestWarning

  

# 禁用安全请求警告

requests.packages.urllib3.disable_warnings(InsecureRequestWarning)

  操作效果

  

  

  

  请参阅源代码以获取

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线