使用 wget 填写网页表单

使用 wget 填写网页表单

我正在尝试使用wget下载最近 100 个游戏历史记录来自 MO 彩票网站的基诺

样本范围 -> 1420698-1420797

该网页要求输入一个范围,然后单击按钮。我试图使该过程自动化,但收效甚微。下面是我从上面链接的页面中挖掘出的值的列表。

<form name="winnersForm">
  <input type="text" name="drawnumber" size="8" value=""/>
  <input type="submit" value="Display Winning Number" onClick="window.open('../club_keno/club_keno_drawings.html')/>

我不确定 wget 是否可以做这种事情,因为它可能需要一些 java 代码,例如会话 ID 号。我尝试将所有内容解析为单个字符串,然后使用 shell 命令运行它,但除了下载中的主页外什么也没有得到,没有数字。我阅读了手册并搜索了示例,但似乎找不到任何我想要的东西。我编写了一个程序,它将删除所有标签并将数据格式化为文本文件,我将其用于其他游戏。

任何帮助将不胜感激。

答案1

服务器实际上似乎没有进行任何检查或会话验证,但我能够获得所有数字。

从您的浏览器,copy as cURL(请参阅这里)。删除多余的标头并添加过滤。

我最终得到:

curl 'http://www.molottery.com/gameHistory.do?method=ckDisplay&cmt=true' -H 'Accept-Encoding: gzip, deflate' -H 'Accept-Language: en-US,en;q=0.8' -H 'Content-Type: application/x-www-form-urlencoded' -H 'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8' --data 'drawnumber=1420698-1420797' --compressed | grep td

结果是:

                    --------
                    -----------
                 <td align="center">52</td><td align="center">44</td><td align="center">10 - 14 - 20 - 21 - 24 - 27 - 28 - 32 - 33 - 39 -
                            41 - 42 - 44 - 45 - 46 - 48 - 52 - 57 - 58 - 72</td>
                            <td align="center">1</td>
                            <td align="center"> $1,077</td><td align="center"> $5,966</td><td align="center"> $15,210</td></tr>
                    <td>1420789</td>
                    <td>07-06-16</td>
                    --------
                    -----

现在您的脚本需要做的就是drawnumber在请求中进行更新。

我还没有尝试使用 wget,但该过程应该可以正常工作。

相关内容