【问题标题】:Google Sheet - IMPORTHTML - Error Resource at url contents exceeded maximum sizeGoogle 表格 - IMPORTHTML - url 内容中的错误资源超出了最大大小
【发布时间】:2021-09-28 08:46:37
【问题描述】:
我正在尝试从特定 URL 拉表
使用:IMPORTHTML("https://URLNAME","table",1)
但我收到错误消息:“url 内容的错误资源超出最大大小”。
我可以通过编写自定义脚本绕过这个问题吗?
【问题讨论】:
标签:
html
google-sheets
import
【解决方案1】:
这是从 html 表中检索数据的更好方法
function importTableHTML(url) {
var html = '<table' + UrlFetchApp.fetch(url).getContentText().match(/(?<=\<table).*(?=\<\/table)/g) + '</table>';
var trs = [...html.matchAll(/<tr[\s\S\w]+?<\/tr>/g)];
var data = [];
for (var i=0;i<trs.length;i++){
var tds = [...trs[i][0].matchAll(/<(td|th)[\s\S\w]+?<\/(td|th)>/g)];
var prov = [];
for (var j=0;j<tds.length;j++){
donnee=tds[j][0].match(/(?<=\>).*(?=\<\/)/g)[0].replace(/ /g,' ');
if(donnee.indexOf("</a>")>-1){
prov.push(donnee.match(/(?<=\>).*(?=\<\/)/g)[0]);
}else{
prov.push(donnee);
}
}
data.push(prov);
}
return(data);
}