Уведомления

Группа в Telegram: @pythonsu
  • Начало
  • » Web
  • » POST method + ajax + собрать результаты поиска [RSS Feed]

#1 Ноя. 9, 2010 14:25:45

summerjazz
От:
Зарегистрирован: 2010-11-09
Сообщения: 4
Репутация: +  0  -
Профиль   Отправить e-mail  

POST method + ajax + собрать результаты поиска

Заполняю форму поиска с большим количеством text box-ов (запарило это делать руками каждый раз) с помощью такого кода:

import cookielib, urllib2, urllib

cj = cookielib.CookieJar()
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj)) #cj

urllib2.install_opener(opener)

params = urllib.urlencode(dict(
full_name='John',
sale_id='8747779',
pin_code='1543',
debt='18390',
problems='1',
pnt_sr='',
g_s_nofake='1',
) # на самом деле полей больше раз в 20

data = opener.open('http://search.domain.de/search/', params).read()
f = open("newfile_search.html", "w")
f.write(data)
f.close()
Проблема вот в чем. Сам поиск работает на AJAX. Если в браузере заполнить форму и нажать кнопку <search>, я увижу progress bar, написанный на JS, в котором будет полоса загрузки и что-то в духе “ожидайте, выполняется поиск” (база большая, обычно жду секунд 15-20). После того, как поиск завершен - результаты поиска появляются _под_ формой поиска на той же странице, то есть на сколько я понимаю с помощью AJAX, так как визуально страница не перезагружается.

Вопрос. Как мне собрать результаты поиска выдаваемые с помощью AJAX? С помощью приведенного выше кода я получаю страницу с заполненными полями и очень быстро. Секунды за 2. Хотя такого быстрого поиска я ни разу не видел.

Спасибо за помощь!



Офлайн

#2 Ноя. 9, 2010 16:05:13

o7412369815963
От:
Зарегистрирован: 2009-06-17
Сообщения: 1986
Репутация: +  32  -
Профиль   Отправить e-mail  

POST method + ajax + собрать результаты поиска

тебе нужно найти кусок кода на js который отправляет запрос на сервер (сам поиск), и этот запрос и посылать самому

Отредактировано (Ноя. 9, 2010 16:06:27)

Офлайн

#3 Ноя. 9, 2010 16:36:03

summerjazz
От:
Зарегистрирован: 2010-11-09
Сообщения: 4
Репутация: +  0  -
Профиль   Отправить e-mail  

POST method + ajax + собрать результаты поиска

А где будет находится, то что мне будет возвращаться этот “кусок”?



Офлайн

#4 Ноя. 9, 2010 16:49:19

summerjazz
От:
Зарегистрирован: 2010-11-09
Сообщения: 4
Репутация: +  0  -
Профиль   Отправить e-mail  

POST method + ajax + собрать результаты поиска

Другими словами, как мне получить response, конкретно от того URL, которому я посылаю POST+data



Офлайн

#5 Ноя. 9, 2010 17:01:03

dimabest
От:
Зарегистрирован: 2009-02-12
Сообщения: 253
Репутация: +  0  -
Профиль   Отправить e-mail  

POST method + ajax + собрать результаты поиска

поставь в Мозиллу дополнение “Tamper Data” и посмотри куда идет AJAX-запрос и как передаются параметры.

После этого можна запрашивать данные напрямую, минуя страницу с формой. Если в ответе JSON или XML - вообще лафа :)



Отредактировано (Ноя. 9, 2010 17:01:30)

Офлайн

#6 Ноя. 9, 2010 17:15:40

summerjazz
От:
Зарегистрирован: 2010-11-09
Сообщения: 4
Репутация: +  0  -
Профиль   Отправить e-mail  

POST method + ajax + собрать результаты поиска

В ответе XML (смотрю с помощью firefox-firebug), может кто-нибудь привести простой пример, как забрать этот ответ?



Офлайн

  • Начало
  • » Web
  • » POST method + ajax + собрать результаты поиска[RSS Feed]

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version