百度关键词挖掘工具,python代码脚本分享! -世界杯365买球

seo工具 07-08 15:43:02
大家好,我是淘小白,今天再给大家分享一个python的爬虫,爬虫的基本逻辑很简单,就是顺着关键词往下爬,只要不存在大量重复,就可以提取到很多的关键词。

目录

1、百度目标词

2、python爬取逻辑

3、脚本注意事项

4、脚本python代码



1、百度目标词

该脚本采集的是百度相关词,也就是我们搜索完成之后,页面底部的相关词,脚本需要我们输入一个关键词,然后输入一个必须包含的关键词。

2、python抓取逻辑

python爬虫的逻辑是:输入关键词,加入到两个变量中,一个变量是暂存库,一个是总词库,爬虫从暂存库中提取(并删除)一个关键词,通过这个关键词采集到相关词,提取这些相关词,对比总词库中是否含有这个关键词,如果不含有这个关键词,将该关键词加入到总词库和暂存库,并写出到本地。

这是一个完整的逻辑,然后加入while死循环,通过判断暂存库的长度来决定是否停止,当暂存库的长度小于零,说明词已经爬完了,停止脚本。

3、脚本注意事项

首先是要更换成自己的百度cookie,其次是要更换自己的保存路径,最后就是增加自己的主词还有限制词,改完这几个基本就没啥问题了。

第三方库自己看一下,导入一下就可以了。

4、脚本python代码

# -*- coding: utf-8 -*-

'''

@作者 淘小白
@联系qq 1290654348
@vx:txb2196
@世界杯正规买球app官网 i-uni.cn

'''
import os
import time
import re
import requests

baidu_headers = {
    "accept": 'text/html,application/xhtml xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9',
    "user-agent": "mozilla/5.0 (windows nt 6.1; win64; x64) applewebkit/537.36 (khtml, like gecko) chrome/73.0.3683.103 safari/537.36",
    # "accept-encoding": "gzip, deflate, br",
    'cookie': r'===============换成自己的cookie=============='
    }

def get_bd_ci(key):
    try:
        bd_xg_url = "https://www.baidu.com/s?ie=utf-8&f=8&rsv_bp=1&rsv_idx=1&tn=baidu&wd={}&usm=3&rsv_idx=2&rsv_page=1"
        req = requests.get(bd_xg_url.format(key),headers=baidu_headers)
        res = req.text
        link_keys = re.findall(r'"word":"(.*?)"',res)
        return link_keys
    except:
        return none

def write_key(key,k_key):
    with open('d:\\淘金网\\chinaz 词库\\百度待修改_ciku.txt','a ') as f:
        if k_key in key :
            f.write(key '\n')
            print(key)
        else:
            pass




if __name__ == '__main__':

    zc_ku = []
    ci_all = []
    key = '抖音带货'
    # 下面是必须包含的限制词
    k_key = '带货'
    zc_ku.append(key)
    ci_all.append(key)
    while true:
        if len(zc_ku) > 0:
            del_key= zc_ku.pop(0)
            xg_ci = get_bd_ci(del_key)
            if xg_ci:
                for i in xg_ci:
                    if i not in ci_all:
                        zc_ku.append(i)
                        ci_all.append(i)
                        write_key(i,k_key)
                        
                    else:
                        pass
                if len(zc_ku)<0:
                    break
                else:
                    pass
            else:
                pass
        else:
            print('done!')
            break