Страница механизации не означает, что вы можете эмулировать JavaScript в Python. Он говорит, что вы можете изменить скрытое поле в форме, таким образом обманув веб-сервер, который выбрал поле 1. Вам все равно нужно проанализировать цель самостоятельно.
Решение этой проблемы не будет на Python, если вы не хотите создавать интерпретатор JavaScript в Python.
My thoughts по этой проблеме привели меня к трем возможных решений:
- создать XULRunner приложение
- автоматизации браузера
- попытка интерпретировать код на стороне клиента
из тех, три, я только на самом деле видел обсуждение 2. Я видел что-то близко к 1 в коммерческом аппликатуре ion, где вы в основном создаете сценарии , просматривая на сайтах и выбирая вещи на страницах, которые вы хотели бы, чтобы сценарий извлекался в будущем.
1 мог заставить работать со сценарием Python, приняв сериализации (JSON?) Из wsgi объектов запроса, получить приложение, чтобы принести URL, а затем отправить обработанную страницу как объект WSGI Response. Вы могли бы , возможно, обернуть некоторое промежуточное ПО вокруг urllib2, чтобы достичь этого. Overkill наверное, но о чем интересно.
2 обычно достигается посредством Selenium RC (пульт дистанционного управления), ориентированного на тестирование инструмента . Он предоставляет несколько методов, таких как getHtmlSource
, но большинство людей, которых я слышал , слышал, как он получал не нравится его API.
3 Я понятия не имею. node.js очень жарко прямо сейчас, но я не коснулся его. Я никогда не мог построить spidermonkey на моей машине Ubuntu , поэтому я так и не коснулся этого.Моя догадка заключается в том, что для того, чтобы сделать это , вы предоставили бы источник HTML и ваши данные интерпретатору JS , который должен был подделать вашего User-Agent и т. Д., Если бы JavaScript хотел повторно подключиться к серверу.
1 хорошо, более технически, JavaScript совместимый User-Agent, который почти всегда является веб-браузер, используемый человеком
Вы должны добавить ссылки на текст, на который вы ссылаетесь, а не LINK. –