gpt4 book ai didi

google-apps-script - 使用 Google Apps 脚本抓取网页

转载 作者:行者123 更新时间:2023-12-04 05:59:09 25 4
gpt4 key购买 nike

我正在尝试使用 Google Apps 脚本从以下示例网页中提取数据:

网址 = http://www.premierleague.com/players/2064/Wayne-Rooney/stats?se=54

使用,UrlFetchApp.Fetch(url)

问题是当我使用 UrlFetchApp.Fetch(url) 来做到这一点时,我没有得到由 url 中的“se”参数定义的页面信息。相反,我获得了以下 URL 的信息,因为它看起来像“se=54”页面是异步加载的:
http://www.premierleague.com/players/2064/Wayne-Rooney/stats

有没有办法以其他方式传递参数“se”?我正在查看该函数,它允许指定“选项”,正如它们所指的那样,但是关于该主题的文档非常有限。

非常感激任何的帮助。非常感谢

汤米

最佳答案

在浏览器中访问该网站并打开开发人员工具(F12 或 ctr-shift-i)。单击网络选项卡并使用 F5 重新加载页面。
将出现请求列表。在列表的底部,您应该看到为获取信息而发出的异步请求。这些请求从footballapi.pulselive.com 获取json 格式的数据。
你可以在应用程序脚本中做同样的事情。但是您必须发送正确的“来源”标题行,否则您的请求将被拒绝。
这是一个例子。

function fetchData() {
var url = "http://footballapi.pulselive.com/football/stats/player/2064?comps=1";
var options = {
"headers": {
"Origin": "http://www.premierleague.com"
}
}
var json = JSON.parse(UrlFetchApp.fetch(url, options).getContentText());
for(var i = 0; i < json.stats.length; i++) {
if(json.stats[i].name === "goals") Logger.log(json.stats[i]);
}
}

关于google-apps-script - 使用 Google Apps 脚本抓取网页,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38676576/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com