【发布时间】:2022-01-21 22:13:43
【问题描述】:
这曾经有效:
curl 'https://docs.google.com/spreadsheets/d/1xaGu5Cd0kRPKy0v-EaVxgfnUxaxWlgDhfhfgRQy6hrc/gviz/tq?tqx=out:csv&sheet=Inv_Summary&range=A:G'
段 tqx=out:csv 指定格式,工作表指定选项卡名称,以及要输出的列范围。
现在如果我这样做,我会得到:
<HTML>
<HEAD>
<TITLE>Moved Temporarily</TITLE>
</HEAD>
<BODY BGCOLOR="#FFFFFF" TEXT="#000000">
<H1>Moved Temporarily</H1>
The document has moved <A HREF="https://accounts.google.com/ServiceLogin? service=wise&passive=1209600&continue=https://docs.google.com/spreadsheets/d/1_fZoLgNGB3fXZqgzCr1gtDnJ2Gowi4dFgovmjsSPHy8/gviz/tq?tqx%3Dout:csv%26sheet%3DInv_Summary%26range%3DA:G&followup=https://docs.google.com/spreadsheets/d/1_fZoLgNGB3fXZqgzCr1gtDnJ2Gowi4dFgovmjsSPHy8/gviz/tq?tqx%3Dout:csv%26sheet%3DInv_Summary%26range%3DA:G&ltmpl=sheets">here</A>.
</BODY>
</HTML>
那长长的回应,为了让人们更容易理解而被打断
<A HREF="https://accounts.google.com/ServiceLogin?
service=wise&passive=1209600&
continue=
https://docs.google.com/spreadsheets/d/1_fZoLgNGB3fXZqgzCr1gtDnJ2Gowi4dFgovmjsSPHy8/
gviz/tqtqx%3Dout:csv%26sheet%3DInv_Summary%26range%3DA:G&
followup=
https://docs.google.com/spreadsheets/d/1_fZoLgNGB3fXZqgzCr1gtDnJ2Gowi4dFgovmjsSPHy8/
gviz/tq?tqx%3Dout:csv%26sheet%3DInv_Summary%26range%3DA:G&
ltmpl=sheets">here</A>
您会注意到后续 URL 与临时移动的 URL 相同。
现在,如果我将 curl 语句后的原始链接粘贴到 chrome 中的地址行中,我会立即打开一个文件进行下载,它会做正确的事情。
为什么 curl 不能做到这一点?
如何恢复旧行为?
背景:我保留了一个跟踪我的林场库存的谷歌表格。库存在数据透视表上进行汇总。脚本会抓取数据透视表数据,并使用它为我的网站生成 HTML 页面。
【问题讨论】:
标签: curl web-scraping google-sheets google-sheets-api