Android / Java: симуляция клика на этой веб-странице

1

В прошлом году я сделал приложение для Android, которое отказалось от информации о моей компании поезда в Бельгии (приложение BETrains: http://www.cyrket.com/p/android/tof.cv.mpp/)

Это приложение было действительно круто и позволило пользователям разговаривать с другими людьми в поезде (для меня запущен почтовый сервер), а также разговоры с Twitter: http://twitter.com/betrains

В Бельгии любили все. Компания пыталась не использовать данные, закрывать некоторые сайты пользователей, но их были некоторые адвокаты, которые атакуют компанию, и, наконец, у нас больше нет проблем, и сайты открыты: http://blog.tuinslak.org/2010/07/irail-is-back

Итак, юридически моя заявка (на данный момент) полностью правильная и законная, но я не получаю помощи от компании поезда.

Итак, мой вопрос - небольшая помощь в получении данных. Я теперь начинающий андроид /java и провожу несколько недель, чтобы попытаться найти решение, но, возможно, люди, как правило, запишут его на несколько минут.

Итак, проблема следующая. Вы можете посмотреть следующий URL-адрес, и вы найдете 2 названия городов в URL: Mons и Tournai, а также информацию о дате и времени. Это был старый метод, который работал один год:

http://hari.b-holding.be/Hafas/bin/query.exe/en?&REQ0JourneyStopsS0A=1&REQ0JourneyStopsS0G=MONS%20[b]&REQ0JourneyStopsZ0A=1&REQ0JourneyStopsZ0G=TOURNAI%20[b]&REQ0JourneyDate=27.010.10&REQ0JourneyTime=19:030&Timesel=depart&ViaName=&ViaMode=NEE&DateMode=ANDERS&PLANNER=TRUE&start=1&queryPageDisplayed=yes

Но теперь URL-адрес приведет меня на страницу подтверждения, и я должен нажать кнопку подтверждения, чтобы перейти на следующую страницу.

Итак, мой код больше не работает, мне нужно щелкнуть по этой кнопке программно, чтобы найти правильную веб-страницу.

Есть ли у вас какие-либо идеи о том, как имитировать щелчок на этой кнопке? На данный момент мой код - это классический код для исправления ошибок с URL-адресом, который содержит несколько строк вверху. Я предположил, что Url дает мне страницу результатов. Это было до последней недели.

DefaultHttpClient httpclient = new DefaultHttpClient();
        HttpGet get = new HttpGet(mon_url);
        HttpResponse response;
            try {
                  response = httpclient.execute(get);
                  HttpEntity entity = response.getEntity();        
                  BufferedReader buf = new BufferedReader(new InputStreamReader(entity.getContent()));
                 etc...

Есть ли у вас какие-либо идеи по улучшению кода?

Поскольку программное обеспечение бесплатно, я не могу отправить деньги в PayPal, но вся страна будет действительно благодарна человеку, который мог бы помочь!

Большое спасибо.

Теги:
web-scraping
screen-scraping
web-services

1 ответ

0
Лучший ответ

Вместо того, чтобы пытаться автоматизировать нажатие кнопки JavaScript, попробуйте проверить, какой запрос отправлен, а затем повторите его в своем приложении. Существуют различные расширения Firefox, которые помогут вам сделать это, например TamperData, Firebug и LiveHttp.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню