【问题标题】:How do I make a program that queries/tests a website?如何制作一个查询/测试网站的程序?
【发布时间】:2011-12-12 15:00:46
【问题描述】:

我正在尝试制作一个程序,可以准确地找出我大学的给定课程何时有空缺——基本上我希望能够找出网站上的某个数字何时不为 0。然后我希望能够立即注册该课程。

我是这种编程的新手,我只是在 Java、html/css、javascript 和 php/mysql 方面有一些经验。我有点不确定我会从哪里开始这样的任务,但我绝对想尝试。任何链接或起点将不胜感激。

谢谢!

【问题讨论】:

  • firefox/greasemonkey 用户脚本可以轻松完成任务,同时让您保持现有技能。

标签: html web connection


【解决方案1】:

假设您没有可以不断检查课程是否对您开放的服务器,您最好的选择可能是一个简单的桌面程序,它每隔几分钟左右下载一个给定 URL 地址的网页。

您还需要观察该网页的 HTML,并让您的程序知道一种方法来判断一个类是否打开(例如关键字、页面大小的变化等)。例如,如果页面包含像<td>N/A</td> 这样的部分,当有位置时会更改为<td>Open</td>,您需要让您的程序知道这一点。

【讨论】:

    【解决方案2】:

    我猜你的大学不提供任何类型的 API。因此,您可能必须进行某种屏幕抓取,即编写一个可以查看 HTML 页面并检查您感兴趣的值的程序。

    在 Python(例如Beautiful Soup)和 Ruby(Nokogiri)中都有很好的用于屏幕抓取的开源库。其他语言可能有很好的屏幕抓取库,但我对它们了解不多。这是一篇关于屏幕抓取的文章in PHP,因为你说你知道 PHP。

    您可以使用例如获取网页的值

    获取页面并确定课程中是否有空缺名额后,您需要确定需要向大学服务器发送什么请求来注册课程。

    您可以通过提交设置了正确 URL 参数的 GET 请求来完成此操作,但您可能必须提交某种 POST 请求。幸运的是,我上面提到的所有工具都可以让你提交帖子请求。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-10-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多