[英]Creating a UrlFetchApp script to replace the Google Sheet importHTML function
[英]google sheet importhtml with click show more
我正在嘗試從https://www.espn.com/nhl/stats/player/_/view/skating/table/offensive/sort/goals/dir/desc導入 NHL 數據
問題是我無法導入 733 行,因為“顯示更多”只導入了 51 行。 我想導入所有 733 行。
這是我放在我的谷歌表格單元格中的代碼:
=IMPORTHTML("https://www.espn.com/nhl/stats/player/_/view/skating/table/offensive/sort/goals/dir/desc";"Table";2;)
您可以使用此腳本提取主要信息
function hockey() {
var url = 'https://site.web.api.espn.com/apis/common/v3/sports/hockey/nhl/statistics/byathlete?region=us&lang=en&contentorigin=espn&isqualified=false&limit=1000&sort=offensive.goals%3Adesc&category=skaters'
var json = JSON.parse(UrlFetchApp.fetch(url).getContentText())
var sh = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('extraction')
sh.clearContents()
var labels = []
json.categories[0].labels.forEach(function (e) { labels.push(e) })
json.categories[1].labels.forEach(function (e) { labels.push(e) })
sh.getRange(1, 7, 1, labels.length).setValues([labels])
var names = []
json.categories[0].displayNames.forEach(function (e) { names.push(e) })
json.categories[1].displayNames.forEach(function (e) { names.push(e) })
sh.getRange(2, 7, 1, names.length).setValues([names])
var athletes = []
json.athletes.forEach(function (data) {
var prov = []
prov.push(data.athlete.firstName)
prov.push(data.athlete.lastName)
prov.push(data.athlete.debutYear)
prov.push(data.athlete.age)
prov.push(data.athlete.teamName)
prov.push(data.athlete.teamShortName)
data.categories[0].totals.forEach(function (t) { prov.push(t) })
data.categories[1].totals.forEach(function (t) { prov.push(t) })
athletes.push(prov)
})
sh.getRange(3, 1, athletes.length, athletes[0].length).setValues(athletes)
}
我一次得到了 970 名玩家的所有這些信息
GP +/- TOI/G SHFT PROD WINS L TOI GA PTS PPG PPA S SPCT GWG FW FL FO% SOA SOG SOPCT
您可以嘗試importJson ,但您需要編寫一些腳本。
攻擊這個 URL 將返回所有 970 個玩家 json 格式。
https://site.web.api.espn.com/apis/common/v3/sports/hockey/nhl/statistics/byathlete?region=us&lang=en&contentorigin=espn&isqualified=false&limit=1000&sort=offensive.goalscategory=.desc&sort
我做到了,它導入了所有播放器,但格式不同,也許您需要修復教程中的腳本。 獲取這樣的數據:
我希望我能幫助你。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.