我一直在互联网上寻找这个问题,我看到其他人解决了这个问题,但有些人仍然无法解决这个问题。我正在尝试使用IMPORTXML
函数。
=IMPORTXML("http://quotes.morningstar.com/fund/c-header?t=FID215", "//span[@vkey='NAV']")
[函数:IMPORTXML(url,xpath_query,locale(]
我得到'在url上找不到资源。'
我所要做的就是为这个共同基金获得NAV
。
我尝试过的东西:
- 来自晨星网站->右键单击->检查->复制XPath
- 更改周围的URL、微小的URL等
我的谷歌应用程序脚本抓取quotes.morningstar.com
本周停止工作。
几项测试表明,在谷歌应用程序脚本中,此GET请求失败:
const url = "https://quotes.morningstar.com/fund/c-header?t=LU0690375182"
const options = { muteHttpExceptions: true};
let fetch = UrlFetchApp.fetch(url, options);
Logger.log('result: ' + fetch.getContentText());
Logger.log('code: ' + fetch.getResponseCode());
结果错误:
result: The report is no longer supported
code: 404
在我的浏览器中(或通过curl(完全相同的GET请求仍然可以正常工作。
我能想到的唯一区别是请求的原始IP地址。
GAS请求将来自谷歌用来托管GAS的一组有限的IP地址。可能是晨星的某个人把它们添加到了阻止列表中?