求满足特定需求的GoogleSheet公式:获取GoogleNews特斯拉相关内容
Google Sheets 公式实现需求方案
核心公式组合
要实现从Google News获取Tesla的唯一新闻标题、按日期升序排序、限制最多20条并按日期分组,可使用以下函数组合:
抓取并去重新闻数据
先通过IMPORTXML获取新闻标题与对应发布日期,再用UNIQUE去除重复条目:=UNIQUE(IMPORTXML("https://news.google.com/search?q=Tesla&hl=en-US&gl=US&ceid=US:en", "//article/div[2]/div[2]/a/h3/span | //article/time/@datetime"))注:Google News页面结构可能变动,若公式失效需重新校验XPath路径。
排序并限制返回数量
用SORT按日期升序排列,再通过INDEX截取前20条数据:=INDEX(SORT(UNIQUE(IMPORTXML("https://news.google.com/search?q=Tesla&hl=en-US&gl=US&ceid=US:en", "//article/div[2]/div[2]/a/h3/span | //article/time/@datetime")), 2, TRUE), 1:20, 1:2)参数说明:
SORT的第二个参数2指定按第二列(日期)排序,TRUE代表升序;INDEX限制仅返回前20行。按日期分组展示
结合QUERY函数实现同一日期的标题聚合,用换行符分隔同日期标题:=QUERY(INDEX(SORT(UNIQUE(IMPORTXML("https://news.google.com/search?q=Tesla&hl=en-US&gl=US&ceid=US:en", "//article/div[2]/div[2]/a/h3/span | //article/time/@datetime")), 2, TRUE), 1:20, 1:2), "SELECT Col2, GROUP_CONCAT(Col1, CHAR(10)) GROUP BY Col2 LABEL Col2 '发布日期', GROUP_CONCAT(Col1, CHAR(10)) '新闻标题'", 1)
注意事项
- Google News的页面结构可能随时更新,若XPath路径失效,需自行检查页面元素调整路径。
- 若出现请求频率限制,可尝试调整URL的区域参数(如
hl、gl),或搭配CACHEVALUE函数减少重复请求。
内容的提问来源于stack exchange,提问作者HelpMePlease
相关产品推荐
相关产品推荐

