import requests import json import openpyxl from openpyxl.utils import get_column_letter from openpyxl.styles import Alignment

定义要检索的关键词列表

keywords = ['网站优化', 'SEO', 'SEM']

创建Excel表格

wb = openpyxl.Workbook() ws = wb.active ws.title = 'Keywords' ws.append(['关键词', '来源']) for col in range(1, 3): ws.cell(row=1, column=col).alignment = Alignment(horizontal='center', vertical='center') ws.column_dimensions[get_column_letter(col)].width = 20

检索百度API

for keyword in keywords: # 第一个API地址 url1 = f'http://suggestion.baidu.com/su?wd={keyword}' resp1 = requests.get(url1) if resp1.status_code == 200: data1 = resp1.text.split('p:false,')[1].rstrip(')').rstrip('}').lstrip('['').rstrip('',') for item in data1.split(','): ws.append([item.strip('''), 'API1'])

# 第二个API地址
url2 = f'https://sp1.baidu.com/5a1Fazu8AA54nxGko9WTAnF6hhy/su?wd={keyword}&cb=doJson'
resp2 = requests.get(url2)
if resp2.status_code == 200:
    data2 = resp2.text.split('p:false,')[1].rstrip(')').rstrip('}').lstrip('['').rstrip('',')
    for item in data2.split(','):
        if item.strip(''') not in data1:
            ws.append([item.strip('''), 'API2'])

去重

unique_keywords = [] for row in ws.iter_rows(min_row=2, max_col=1, values_only=True): if row[0] not in unique_keywords: unique_keywords.append(row[0])

将去重后的关键词写入表格

ws.delete_cols(1) ws.cell(row=1, column=1, value='关键词') ws.cell(row=1, column=1).alignment = Alignment(horizontal='center', vertical='center') for i, keyword in enumerate(unique_keywords): ws.cell(row=i+2, column=1, value=keyword)

保存Excel表格

wb.save('keywords.xlsx')

Python抓取百度API关键词数据并去重保存至Excel

原文地址: https://www.cveoy.top/t/topic/mBcx 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录