【问题标题】:download file from site that uses session cookies with node从使用带有节点的会话 cookie 的站点下载文件
【发布时间】:2019-11-15 07:55:23
【问题描述】:

我正在尝试从使用带有 HTTPOnly 的会话 cookie 的网站下载 csv 文件。我尝试了请求和使用 jar,还尝试了 puppeteer(页面被阻止加载)。不知道是不是我在代码中做错了什么,还是整个方法都错了……

页面是 https://data.gov.il/dataset/degem-rechev-wltp/resource/142afde2-6228-49f9-8a29-9b6c3a0cbe40

文件是 https://data.gov.il/dataset/45e317cf-7bb1-4535-b8cf-be5e79ea341f/resource/142afde2-6228-49f9-8a29-9b6c3a0cbe40/download/degem_rechev_wltpmot.gov.il.csv

关于如何使用节点下载文件有什么建议吗?

【问题讨论】:

    标签: node.js session-cookies puppeteer scrape httponly


    【解决方案1】:

    在我的盒子 chrome 开发者工具上生成下一个 curl 命令

    curl "https://data.gov.il/dataset/45e317cf-7bb1-4535-b8cf-be5e79ea341f/resource/142afde2-6228-49f9-8a29-9b6c3a0cbe40/download/degem_rechev_wltpmot.gov.il.csv" -H "authority: data.gov.il" -H "upgrade-insecure-requests: 1" -H "user-agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.70 Safari/537.36" -H "accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3" -H "sec-fetch-site: none" -H "sec-fetch-mode: navigate" -H "accept-encoding: gzip, deflate, br" -H "accept-language: en,ru-RU;q=0.9,ru;q=0.8,en-US;q=0.7,uk;q=0.6,pl;q=0.5,de;q=0.4,fr;q=0.3" -H "cookie: rbzid=+y6YNWeSzY3HUYMml3AKWXon7IJJndSomjXuti1J3fMzCjkcRTkWcSnkKh2TVfpaN8fJxqFvvd8/of5JjfOwpHn7ZYzcg/QSp8JYjJdXlGfuNg5ihg05g576LXOCsl+HonH0UH6jxg2nfJK7wjKpJso3y5qA2g+n/bEWK3tCG0eGexT1ffDiGldR8wPawH2+McL0L9cyxAisd08BXJruqztVdXObV6h63o7Sb25Qu4ripVGOMhMat+ZWcV8GBkJG; rbzsessionid=75b0067c512d09569cc11db8a8f1b240" -H "if-none-match: W/^\^"1573792925.61-26103321^\^"" -H "if-modified-since: Fri, 15 Nov 2019 04:42:05 GMT" --compressed
    

    我相信您可以使用它从 Node.js 创建正确的请求

    【讨论】:

    • 谢谢,我设法像你在这里展示的那样使用 curl,但是这里有一个“rbzid”cookie,这是关键 - 在第一次访问网站时,这个 cookie 被创建,我没有知道有效期多久。所以我会尝试分两步进行——第一步生成 rbzid cookie,第二步是使用上一步中的 cookie 获取请求/CURL。
    猜你喜欢
    • 1970-01-01
    • 2014-03-28
    • 1970-01-01
    • 2014-07-20
    • 2012-03-17
    • 1970-01-01
    • 2011-11-21
    • 2016-08-20
    • 2020-03-11
    相关资源
    最近更新 更多