2013-02-08 2 views
0

У меня есть электронный магазин моего клиента, который создается другой компанией. Я хочу проанализировать все продукты и поместить их в xml. Я знаю, как добраться до первой страницы каждого «бренда», но мне сложно передать аргумент, чтобы изменить страницу для разбитых на страницы результатов.java - разобрать сайт aspx - указать параметры

Это e-shop "http://www.gialia.net.gr/ProductCatalog/20/CAR.aspx", что указывает на один бренд.

Когда я пользователь тампер-данные о светлячок я вижу, что, когда вы хотите, чтобы нажать на вторую-страницу из результатов сообщений:

"__EVENTTARGET=ctl00%24wpmMain%24wp131820866%24wp512420601%24dpgTop%24ctl01%24ctl01" 

последняя строка: «ct101» означает перейти на страницу 2 , Если я изменю его на ct102, он перейдет на страницу 3 и т. Д.

НО, но я пытаюсь создать его как запрос GET, чтобы динамически создавать эти параметры в своем Java-коде и анализировать каждый ответ. Но когда я создаю url как:

http://www.gialia.net.gr/ProductCatalog/20/CAR.aspx?__EVENTTARGET=ctl00$wpmMain$wp131820866$wp512420601$dpgTop$ctl01$ctl02 

Я не получаю результатов.

Может кто-нибудь, пожалуйста, взгляните и дайте мне несколько предложений?

+0

Использование Apache HttpClient, с этой библиотекой вы можете создавать запросы POST. –

ответ

0

Сайт, который вы нам здесь даете, очень плохой в дизайне относительно поисковых систем (SEO), поэтому синтаксический анализ страницы один за другим является слишком сложным.

Чтобы изменить страницу, сделайте пост назад и только с javascript. Таким образом, вы должны сделать то же самое, чтобы перейти к следующей странице каталога, вам нужно сделать полный пост назад страницы со всеми параметрами.

Теперь страница настолько плохая, что программист отключил __EVENTVALIDATION элементов управления, вероятно, потому, что он не позволял ему делать неправильные вещи, поэтому, когда вы можете подделывать данные, но все же вам нужно сделать пост назад. Простым типом на url один параметр только код позади не понял, что это сообщение назад. Вам необходимо отправить и, по крайней мере, Viewstate и остальные скрытые параметры.

Но не так просто получить от вашего клиента доступ непосредственно к базе данных и читать их оттуда?

Смежные вопросы