使用Google API网页抓取返回Null:华盛顿最低工资提取失败
解决从EPI网站提取华盛顿最低工资时正则匹配返回Null的问题
问题根源
- 目标网站是单页应用(SPA),
UrlFetchApp.fetch()获取的是服务器返回的初始静态HTML,仅包含页面框架,没有"Minimum wage"、"Most recent increase"这些由前端JavaScript动态渲染的内容。 - 你用正则匹配的是静态HTML,自然找不到任何目标文本,所以返回Null。
解决方案:直接调用官方API
EPI网站的最低工资数据来自公开API,直接请求API比解析HTML更可靠、高效。修改后的代码如下:
function getMinimumWage() { // 请求EPI最低工资数据API var apiUrl = "https://www.epi.org/api/minimum-wage-tracker/data/"; var response = UrlFetchApp.fetch(apiUrl); var data = JSON.parse(response.getContentText()); // 筛选华盛顿州的当前最低工资数据 var washingtonEntry = data.states.find(state => state.name === "Washington"); if (washingtonEntry) { var minimumWage = washingtonEntry.current_min_wage; Logger.log("华盛顿地区最低工资: $" + minimumWage); } else { Logger.log("未找到华盛顿地区的最低工资数据"); } }
代码说明
- 直接请求官方API获取结构化JSON数据,无需解析复杂的HTML。
- 通过
find()方法筛选出华盛顿州的数据,提取current_min_wage字段即为当前最低工资。
内容的提问来源于stack exchange,提问作者Chadd Dum
相关产品推荐
相关产品推荐

