使用pygooglenews获取谷歌新闻结果后如何导出为Excel或CSV文件
导出CSV/Excel文件的实现方案
方案一:导出为CSV格式(使用Python内置模块,无需额外安装依赖)
直接在原有代码基础上添加CSV写入逻辑即可,完整可运行代码如下:
# 若未安装依赖先执行安装:pip install pygooglenews --upgrade import csv from pygooglenews import GoogleNews gn = GoogleNews(country = 'IE') def get_titles(search): stories = [] search = gn.search(search) newsitem = search['entries'] for item in newsitem: story = { 'title' : item.title, 'link' : item.link } stories.append(story) return stories # 获取新闻数据 news_list = get_titles('aldi') # 写入CSV文件 with open('谷歌新闻搜索结果.csv', 'w', newline='', encoding='utf-8-sig') as csv_file: # 定义表头,与字典键名对应 field_names = ['title', 'link'] writer = csv.DictWriter(csv_file, fieldnames=field_names) # 写入表头 writer.writeheader() # 批量写入所有新闻数据 writer.writerows(news_list) print("CSV文件导出完成")
- 这里使用
utf-8-sig编码是为了兼容Excel打开,避免出现乱码问题。
方案二:导出为Excel XLSX格式
需要先安装依赖库:
pip install pandas openpyxl
完整代码如下:
import pandas as pd from pygooglenews import GoogleNews gn = GoogleNews(country = 'IE') def get_titles(search): stories = [] search = gn.search(search) newsitem = search['entries'] for item in newsitem: story = { '新闻标题' : item.title, '新闻链接' : item.link } stories.append(story) return stories # 获取新闻数据 news_list = get_titles('aldi') # 转换为DataFrame格式 df = pd.DataFrame(news_list) # 导出为Excel文件,index=False表示不导出行序号 df.to_excel('谷歌新闻搜索结果.xlsx', index=False) print("Excel文件导出完成")
内容的提问来源于stack exchange,提问作者Micheal Brennan
相关产品推荐
相关产品推荐

