来源:python中国网 时间:2019-11-13

  相关搜索词词是扩词一个重要的渠道。如何批量获取百度相关搜索词呢?

  1、准备关键词文件kwd.txt。(一行一个关键词)

  2、结果会存储为bdpc_xg.txt。(结果没有进行去重处理,近义词一般会有相同的下拉词)

  测试一小部分关键词,百度PC相关搜索词采集的脚本如下:

# ‐*‐ coding: utf‐8 ‐*‐
# python3.6版本

"""
1、准备关键词文件kwd.txt(一行一个关键词)
2、结果会存储为bdpc_xg.txt。(结果没有进行去重处理,近义词一般会有相同的下拉词)
"""
import requests
import threading
import queue
from pyquery import PyQuery as pq

# 获取源码
def get_html(url,retry=2):
    try:
        r = requests.get(url=url,headers=user_agent, timeout=5)
    except Exception as e:
        print('获取源码失败', url, e)
        if retry > 0:
            get_html(url, retry - 1)
    else:
        html = r.content.decode('utf-8') # 直接 r.text有时识别错误
        return html


# 提取相关词
def get_xgkwds():
    while 1:
        kwd = q.get()
        # 最近不多加点参数容易被反爬
        url = 'https://www.baidu.com/s?&tn=48020221_28_hao_pg&ie=utf-8&word={}'.format(kwd)
        html = get_html(url)
        if html and '_百度搜索' in html:
            doc = pq(html)
            try:
                xg_kwds = doc('#rs table tr th a').items()
                # print(xg_kwds)
            except Exception as e:
                print(e)
            else:
                for kwd_xg in xg_kwds:
                    kwd_xg = kwd_xg.text()
                    print(kwd_xg)
                    f.write(kwd_xg+'
')
        else:
            print('源码异常,可能被反爬....')
            print(html)
        q.task_done()


if __name__ == "__main__":
    # 结果保存文件
    f = open('bdpc_xg.txt','w',encoding='utf-8')
    # 关键词队列
    q = queue.Queue()
    for kwd in open('kwd.txt',encoding='utf-8'):
        kwd = kwd.strip()
        q.put(kwd)
    # UA设置
    user_agent = {
        'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.97 Safari/537.36',
        'Host': 'www.baidu.com',
        'Referer': 'https://www.hao123.com/?tn=48020221_28_hao_pg'
    }
    # 设置线程数
    for i in list(range(3)):
        t = threading.Thread(target=get_xgkwds)
        t.setDaemon(True)
        t.start()
    q.join()
    f.flush()
    f.close()


宝马3系二手为什么便宜
鞍山二手奥迪a6l
鞍山二手防盗门
鞍山二手宝马3系
个人二手宝马
二手红色宝马
为什么二手宝马不能买
二手宝马x3多少钱
鞍山二手天籁报价
x3宝马二手车报价
宝马二手车报价5系
鞍山二手车
宝马七系二手车报价
新宝马x1二手车报价
鞍山个人二手车
鞍山二手车市场在哪
鞍山丰田二手车交易市场
鞍山二手面包车报价
巴博斯G二手车
二手巴博斯
巴博斯越野车
二手巴博斯g
奔驰大g二手车
奔驰二手车
巴博斯跑车
奔驰g63二手车价格
奔驰s二手车
鞍山宝骏36O二手价
鞍山二手宝骏730价格
鞍山第一车网


  百度PC相关搜索词采集代码如上,大家可以尝试用用,有事情及时联系。