修改以下代码:主要记录API链接中的内容每一个都用新的一行记录到表格中import requestsimport jsonimport openpyxlfrom openpyxlutils import get_column_letterfrom openpyxlstyles import Alignment# 定义要检索的关键词列表keywords = 网站优化 SEO SEM# 创建Excel
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')
原文地址: https://www.cveoy.top/t/topic/baZx 著作权归作者所有。请勿转载和采集!