Обычно я помещаю "уровень служб" и "служебные" классы в отдельном проекте и добавляю его как ссылку на мое веб-приложение. С платформой MVC я действительно не вижу потребность скомпилировать классы во времени выполнения.
Практически прямое исполнение пожеланий в вопросе - саржа .
саржа - это простой язык, который позволяет пользователям просматривать веб-страницы из интерфейса командной строки . С помощью twill вы можете перемещаться по веб-сайтам, которые используют формы, файлы cookie и большинство стандартных веб-функций.
twill поддерживает автоматическое веб-тестирование и имеет простой интерфейс Python.
( pyparsing
, ] Mechanize
и BeautifulSoup
для удобства включены в саржевое покрытие.)
Пример Python API
:
from twill.commands import go, showforms, formclear, fv, submit
go('http://issola.caltech.edu/~t/qwsgi/qwsgi-demo.cgi/')
go('./widgets')
showforms()
formclear('1')
fv("1", "name", "test")
fv("1", "password", "testpass")
fv("1", "confirm", "yes")
showforms()
submit('0')
Еще одна вещь, которую следует учитывать, - это написание собственного сценария. На самом деле это не так уж сложно, как только вы освоитесь, и без использования полдюжины огромных библиотек он может быть даже быстрее (но я не уверен). Я использую веб-отладчик под названием «Charles» для просмотра веб-сайтов, которые я хочу очистить. Он регистрирует все исходящие / входящие HTTP-сообщения, и я использую записи для обратного проектирования строк запроса. Манипулирование ими в python позволяет получить довольно быстрое и гибкое очищение.
Используйте механизировать . Помимо выполнения JavaScript на странице, это неплохо.