如何用.bat或XSLT 2.0自动下载网站指定.csv文件?
搞定BAT下载CSV的问题,顺便聊聊XSLT的尝试
我来帮你解决这个下载问题,先看你的BAT脚本,核心坑在URL的转义字符上:
修正后的BAT代码
@echo off SET "FILENAME=%~dp0\series.csv" bitsadmin.exe /transfer "JobName" "https://www.ons.gov.uk/generator?format=csv&uri=/economy/inflationandpriceindices/timeseries/chaw/mm23" "%FILENAME%"
为啥原来的脚本不行?
你从页面里复制的URI带了&,这是HTML对&的两次转义结果(第一次把&转成&,第二次再转一次就变成&)。但HTTP请求里参数分隔符就是原生的&,用转义后的字符会让服务器没法正确解析参数,自然拿不到正确的CSV文件。
关于XSLT 2.0的尝试
XSLT本身是做XML/HTML文档转换的,它没有内置的HTTP下载能力哦。如果想靠XSLT实现自动下载,得搭配支持扩展函数的处理器(比如Saxon),或者在XSLT里调用外部命令(比如上面的bitsadmin)。单纯用XSLT 2.0的原生语法是没法直接完成下载操作的,这就是你尝试失败的原因啦。
内容的提问来源于stack exchange,提问作者KKK
相关产品推荐
相关产品推荐

