相关搜索词词是扩词一个重要的渠道。如何批量获取百度相关搜索词呢?
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相关搜索词采集代码如上,大家可以尝试用用,有事情及时联系。