LINUX.ORG.RU

Python web-bot, передача переменных между скриптами

 


1

1

Доброго времени суток,

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

На одном этапе возникла проблема, на первой странице (url) имеются уникальные данные, которые при обновлении страницы меняются: переход на вторую страницу с использованием уникальных данных на первой, не закрывая первую, парсинг каких либо данных со второй, возвращение на первую, заполнение формы на первой (представьте работу с окнами в гуи n браузера).

Видел urllib следующий образец http://pastebin.com/FcEh3Yrd

Но как видите, чтобы заполнить форму при помощи urllib, требуется загрузить страницу заново с новымы значениями в форме.

Варианты?



Последнее исправление: maxylopes (всего исправлений: 1)
Ответ на: комментарий от anonymous

1. Открываю url1, качаю капчу.

2. Открываю url2, декодирую капчу.

3. Возвращаюсь на url1, вставляю текст капчи, получаю ошибку, потому что по возвращению и заполнении форм на url1, страница рефрешнулась, и выдала новую капчу.

maxylopes
() автор топика
Ответ на: комментарий от maxylopes

Ты получаешь ошибку потому что капча привязывается к сессии. При первом запросе сохраняй все куки и значения в скрытых полях формы (если есть) в отдельные переменные, а при третьем запросе подставляй эти куки и скрытые значения вместе со своими.

Не по теме: рекомендую использовать библиотеку requests для таких автоматизаций - она попроще и поудобнее urllib

grazor ★★
()
Ответ на: комментарий от maxylopes

Совсем упоротый.
Загрузил страницу, сохранил все данные и токены из формы, разгадал капчу, отправил пост-запрос с данными.

NeverLoved ★★★★★
()
Ответ на: комментарий от maxylopes

3. Возвращаюсь на url1

а зачем ты оттуда уходишь? на url2 ходи в другой сессии.

arkhnchul ★★★
()
Ответ на: комментарий от ei-grad

Читал, не хотел скрипт переписывать, оказалось намного проще с mechanize. Спасибо!

maxylopes
() автор топика
Ответ на: комментарий от ei-grad

Теперь знаю. А теперь вопрос, есть линки на файлы, заходя на которые, тебе сразу выкидывают окно сохранения файла. Я знаю что после ввода капчи, мне дадут скачать файл, но не путем переадресации, а javascript или php скриптом. Как их сохранять?

maxylopes
() автор топика
Последнее исправление: maxylopes (всего исправлений: 2)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.