Как мне создать программу, которая запрашивает / тестирует веб-сайт? - PullRequest
0 голосов
/ 12 декабря 2011

Я пытаюсь создать программу, которая может точно определить, когда у данного класса в моем университете есть свободное место - в основном я хочу иметь возможность узнать, когда определенное число на веб-сайте не равно 0.Тогда я хочу иметь возможность мгновенно записаться на этот класс.

Я новичок в этом виде программирования, у меня просто есть некоторый опыт в Java, html / css, javascript и php / mysql.Я не совсем уверен, где бы начать с такой задачи, но я определенно хочу попробовать.Буду очень признателен за любые ссылки или начальные пункты.

Спасибо!

Ответы [ 2 ]

0 голосов
/ 12 декабря 2011

Я предполагаю, что ваш университет не предлагает никаких API. Так что, вероятно, вам придется выполнить какое-то сканирование экрана, то есть написать программу, которая может просматривать страницу HTML и проверять значения, которые вас интересуют.

В Python есть хорошие библиотеки с открытым исходным кодом для скриншота (например, Beautiful Soup ) и Ruby ( Nokogiri ). Вероятно, есть хорошие библиотеки скриншотов на других языках, но я не знаю о них много. Вот статья об очистке экрана в PHP , поскольку вы говорите, что знаете PHP.

Вы можете получить значение веб-страницы, используя, например,

После того, как вы загрузили страницу и определили, есть ли место, открытое в курсе, вам нужно выяснить, какой запрос нужно отправить на сервер университета, чтобы записаться на курс.

Возможно, вы сможете сделать это, просто отправив запрос GET с правильными параметрами URL, но, возможно, вам придется отправить запрос POST. К счастью, все инструменты, о которых я упоминал выше, позволят вам отправлять запросы.

0 голосов
/ 12 декабря 2011

Если у вас нет сервера, который может постоянно проверять, открыт ли класс для вас, лучшим вариантом будет, вероятно, простая настольная программа, которая загружает веб-страницу по URL-адресу каждые несколько минут или около того.

Вам также необходимо соблюдать HTML-код этой веб-страницы и сообщить своей программе, как определить, открыт ли класс (например, ключевые слова, изменение размера страницы и т. Д.). Например, если на странице есть раздел, такой как <td>N/A</td>, который изменится на <td>Open</td> при наличии места, вы должны сообщить об этом своей программе.

...