用于定期从使用php的网页下载csv文件的脚本

用于定期从使用php的网页下载csv文件的脚本,php,Php,我不确定这是否可行,但我想编写一个脚本(可以是bash、python等),可以从使用PHP的网页(我对此一无所知)自动下载csv文件。该网页是一个区域气象服务: 通常我通过手动点击下拉栏中的一个站点,点击“每日”,点击“可视化数据”,最后点击“下载CSV”来获取CSV文件 查看文件的下载位置(如浏览器中的网络控制台)或下载源。然后使用php中的file\u get\u contents下载 如果文件名更改,请尝试找出模式。可能只是一个日期。此网站使用以下表单字段向发送ajax POST请求: a

我不确定这是否可行,但我想编写一个脚本(可以是bash、python等),可以从使用PHP的网页(我对此一无所知)自动下载csv文件。该网页是一个区域气象服务:
通常我通过手动点击下拉栏中的一个站点,点击“每日”,点击“可视化数据”,最后点击“下载CSV”来获取CSV文件

查看文件的下载位置(如浏览器中的网络控制台)或下载源。然后使用php中的
file\u get\u contents
下载


如果文件名更改,请尝试找出模式。可能只是一个日期。

此网站使用以下表单字段向发送ajax POST请求:

a: 2018
m: 8
g: 4
s: CMT@Camino@syn@45.920300@12.938600@30
t: H_2
ln: 
o: visualizza
并返回一个html页面,其中可下载的CSV数据被奇怪地直接编码到下载按钮的href属性中:

<a href=\"data:application\/csv;charset=utf-8,giorno%3Bora%20UTC%2A%3BPioggia%20mm%3BTemp.%20gradi%20C%3BUmidita%27%20%25%3BVento%20med%20km%2...">
然后使用dom解析器解析结果,以获取下载按钮的内容

然后你解码并保存它

您可以使用php、python、node.js来实现这一点,这是您更熟悉的

也许,如果你再四处窥探一下,你会发现一个静态url,它会直接给你结果

curl 'http://www.meteo.fvg.it/ajax/getStationData.php' -H 'Cookie: PHPSESSID=olng2rqoia3qsecangkh3bg4r4' -H 'Origin: http://www.meteo.fvg.it' -H 'Accept-Encoding: gzip, deflate' -H 'Accept-Language: en-US,en;q=0.9,de;q=0.8' -H 'User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.23 Safari/537.36' -H 'Content-Type: application/x-www-form-urlencoded; charset=UTF-8' -H 'Accept: application/json, text/javascript, */*; q=0.01' -H 'Referer: http://www.meteo.fvg.it/archivio.php?ln=&p=dati' -H 'X-Requested-With: XMLHttpRequest' -H 'Connection: keep-alive' -H 'DNT: 1' --data 'a=2018&m=8&g=4&s=CMT%40Camino%40syn%4045.920300%4012.938600%4030&t=H_2&ln=&o=visualizza' --compressed