自动下载涉及密码和特定在线点击

时间:2013-10-20 13:43:20

标签: cron passwords wget

我想使用cron每天下载投资组合信息,增加两个并发症:

  1. 需要密码
  2. 我想通过点击"下载到电子表格
  3. 获取我自己在网站上获得的格式

    如果我使用:

    wget -U Chromium --user='e-address' --password='pass' \
        https://www.google.com/finance/portfolio > "file_"`date +"%d-%m-%Y"`+.csv
    

    我收到回复:

    ========================================================================= 
    --2013-10-20 12:16:13--  https://www.google.com/finance/portfolio 
    Resolving www.google.com (www.google.com)... 74.125.195.105, 74.125.195.103, 74.125.195.99, ... 
    Connecting to www.google.com (www.google.com)|74.125.195.105|:443... connected. 
    HTTP request sent, awaiting response... 200 OK 
    Length: unspecified [text/html] 
    Saving to: ‘portfolio’ 
    
    [ <=>                                   ] 16,718      --.-K/s   in 0.04s   
    
    2013-10-20 12:16:13 (431 KB/s) - ‘portfolio’ saved [16718] 
    ==========================================================================
    

    它保存到一个名为&#34; portfolio&#34;而不是我要求的地方(&#34;文件_&#34; date +"%d-%m-%Y" +。csv)。 当我看到&#34;投资组合&#34;在浏览器中它说我需要登录我的帐户,即没有通知我已包含的用户和密码信息。

    如果我通过将鼠标悬停在&#34;下载到电子表格&#34;链接: -

    wget -U Chromium --user='e-address' --password='pass' \
        https://www.google.com/finance/portfolio?... > "file_"`date +"%d-%m-%Y"`+.csv
    

    我明白了:

    [1] 5175 
    [2] 5176 
    [3] 5177 
    [4] 5178 
    --2013-10-20 12:44:56--  https://www.google.com/finance/portfolio?pid=1 
    Resolving www.google.com (www.google.com)... [2]   Done                    output=csv 
    [3]-  Done                    action=view 
    [4]+  Done                    pview=pview 
    hg21@hg21-sda2:~$ 74.125.195.106, 74.125.195.103, 74.125.195.104, ... 
    Connecting to www.google.com (www.google.com)|74.125.195.106|:443... connected. 
    HTTP request sent, awaiting response... 200 OK 
    Length: unspecified [text/html] 
    Saving to: ‘portfolio?pid=1’ 
    
    [ <=>                                   ] 16,768      --.-K/s   in 0.05s   
    
    2013-10-20 12:44:56 (357 KB/s) - ‘portfolio?pid=1.1’ saved [16768] 
    

    此时它会挂起。此时写入的文件('portfolio?pid = 1')与&#39;投资组合相同。使用以前使用过的wget文件。

    如果我再输入密码,则继续:

    pass: command not found 
    [1]+  Done                    wget -U Chromium --user="e-address" --password='pass' https://www.google.com/finance/portfolio?pid=1 
    [1]+  Done                    wget -U Chromium --user="e-address" --password='pass' https://www.google.com/finance/portfolio?pid=1 
    

    任何帮助都非常感激。

1 个答案:

答案 0 :(得分:0)

这里有几个问题:

1)wget未保存到正确的文件名

使用-O选项代替> shell重定向。

> file_`date+"%d-%m-%Y"`.csv更改为-O file_`date+"%d-%m-%Y"`.csv

提示:如果您使用date+"%Y-%m-%d",您的文件将按时间顺序自然排序。

这基本上是wget command to download a file and save as a different filename

的副本

另请参阅man wget了解选项。

2)wget正在产生多个流程并“悬挂”

您的URL中有&个正在由shell解释而不是包含在传递给wget的参数中。您需要将URL包装在引号中。

https://finance.google.com/?...&...&...

变为

"https://finance.google.com/?...&...&..."