Bawił się ktoś podobnym zagadnieniem ? Szukałem trochę w sieci, ale wiele nie znalazlem. Planuję pobawić się z phpQuery i jakoś to ugryźć, a jeśli nie to zendowe http lub curl żywcem.

zadane 11 List '11, 21:44

uirapuru's gravatar image

Po pierwsze pisanie tego w ten sposób to głupota ponieważ BRE Bank udostępnia API do pracy z kontami (dla firm na pewno, dla indywidualnych nie mam pewności) i trzeba się tylko o to zapytać. Koszty są na poziomie 1PLN/mies. Dane otrzymasz w formacie SEPA.

Jeżeli już chcesz się dostać do strony via HTML to proponuję zainteresować się Selenium, które co prawda służy do testowania stron, ale świetnie sprawdza się do tworzenia różnego typu automatów do obsługi stron www.

//Edit:

trwały link

odpowiedziane 12 List '11, 10:59

Kozio%C5%82ek's gravatar image

edytowane 12 List '11, 11:09

Nie zgodzę się, że podejście phpQuery/curl to głupota, bo po pierwsze uirapuru pytał nie tylko o mbank, po drugie płacenie 1pln za coś co jest za darmo jeśli wysilimy trochę głowę wydaje się większą głupotą. Zwłaszcza jeśli szykujemy rozwiązanie obsługujące wiele kont dostępowych. Na przykład mechanizm sklepu internetowego, który będzie kontrolował nasz rachunek pod kontem wpłat pocztowych. A sklep chcemy udostępniać innym.

(12 List '11, 15:52) flatplanet
1

I w tym przypadku szczególnie należy użyć API banku. PSNetwork padło w wyniku właśnie tego typu "hakowania" i samodzielnego pisania własnych rozwiązań (tu bodajże kryptograficznych). Poza tym to "za darmo" jest z tego co wiem nie do końca zgodne z regulaminem korzystania z usługi.

(12 List '11, 15:59) Koziołek ♦

"nie do końca zgodne z regulaminem korzystania z usługi" i tu właśnie wkraczamy na grząski grunt bo zdania są podzielone;) Ja też bym zapłacił tego zeta ale nie można nazywać głupcami ludzi, którzy tego nie chcą zrobić, no i nie zawsze jest taka możliwość(API). Trudno tu też się nie zgodzić z uirapuru, że ten sposób to swoista przeglądarka automatyzująca pewne działania. Ja nie widzę tu znamion "hakowania"

(12 List '11, 16:16) flatplanet

do momentu, aż coś nie padnie, bo wtedy masz oprogramowanie "utrudniające działanie serwisu" i paragraf. Podałem zresztą link do biblioteki perlowej i można ten kod przepisać na php czy javę.

(12 List '11, 16:50) Koziołek ♦

@flatplanet Blokowanie tego rodzaju głupich scraperów jest w interesie zarówno banku (zużywasz mnóstwo zasobów na coś co w API jest dużo szybsze), jak i klientów, bo szczerze mówiąc nie widzę sensownego użycia dla czegoś takiego poza aplikacją, która chce mi ukraść pieniądze (udając stronę banku, kradnąc mi hasło, itp.)!

(12 List '11, 18:02) lqc

@lqc pytanie, czy bankowi opłaca się blokować? Można przecież emulować przeglądarke - pominąwszy wtyczki java, flash itd - chyba w 100%.

PS. Moje pytanie wiąże się z prywatnymi sprawami. Prowadze klub sportowy i chce mieć automatyczny wgląd w płatności uiszczane przez członków, aby porównywać z obecnościami :)

(12 List '11, 18:45) uirapuru

@uirapuru, to przede wszystkim zapytaj o dostęp po API banku. Koszty są niewielkie, a uzyskujesz pewność, że jesteś niezależny od UI serwisu transakcyjnego. Szczególnie, że w ostatnim zasie mBank intensywnie pracuje nad zmianami w tym serwisie.

(12 List '11, 18:56) Koziołek ♦

Czy tylko ja widzę, że uirapuru nie pyta tylko o mbank? Nie każdy bank oferuje takie api.

@Iqc: nie wszyscy są złodziejami i nie wszystkie aplikacje kradną. Poza tym można zrobić coś na własny użytek

(12 List '11, 21:37) flatplanet

@flatplanet, API udostępniają wszystkie banki. Chociażby dlatego by klienci biznesowi mieli dostęp via programy księgowe. Trzeba tylko pytać.

(13 List '11, 09:35) Koziołek ♦

@Koziołek: skąd masz info o API mBanku? Ja pytałem i babka na mLinii o niczym nie wiedziała. Niekumata była? Dzwonić jeszcze raz? Poza tym oba podane przykłady - xConnector oraz mBank CLI - robią screenscraping a więc nie API.

(13 List '11, 10:03) Paweł Łukasik ♦♦

@Paweł, bo należy pytać nie w mBanku, ale w BRE: http://siliconmind.eu/content/nietypowy-test-bankow-czesc-druga Link z tekstu niestety już wygasł, ale pewno jak się zapytasz to się dowiesz.

(13 List '11, 10:11) Koziołek ♦
showing 5 of 11 show 6 more comments

curl + obsługa ciasteczka i powinno się udać. Przyda się też Firebug do śledzenia przejść, nagłówków i odpowiedzi.

Swego czasu walczyłem z pobieraniem danych ze strony Play24. Cel udało się osiągnąć przez php, c# i natywnie w androidzie i efektem czego powstało: https://market.android.com/details?id=com.flatplanet.widgets.playinfo Prześledziłem logowanie Firebugiem i starałem się odzwierciedlić tą samą drogę w curl.

Ciekaw jestem tylko, czy tak wolno. Czy właściciel strony może zabronić na pobieranie danych tego typu sposobem?

trwały link

odpowiedziane 11 List '11, 22:34

flatplanet's gravatar image

edytowane 11 List '11, 22:41

Nie może, jezeli udostępnia system do odwiedzenia z każdej 'przeglądarki', to czemu nie np. z własnoręcznie napisanej? :)

(11 List '11, 22:52) uirapuru

dokładnie też tak sobie to tłumacze... jednak spotkałem się z różnymi opiniami. W moim przypadku w rozmowie z rzecznikiem Play usłyszałem, że to klienci którzy korzystają z mojego programu łamią regulamin... tyle, że ja nie wnikam ;)

Z Mbankiem być może będziesz miał małą niedogodność związaną z blokowaniem dostępu jeśli po drodze będą jakieś błędy w logowaniu.

(11 List '11, 22:55) flatplanet

to samo jest w multibanku, trzeba odblokowywac przez multilinię

(12 List '11, 01:23) uirapuru
-2

Jeśli zależy Ci na samym zalogowaniu się, to polecam greasemonkey. Łatwo, prosto i przyjemnie :)

trwały link

odpowiedziane 12 List '11, 08:03

cyberfreak's gravatar image

nie widze związku z pytaniem...

(12 List '11, 10:59) uirapuru

Jeśli zależy Ci na samym zalogowaniu się, to możesz użyć JS w greasemonkey. Ja z powodzeniem zalogowałem się w ten sposób do np Aliora.

(13 List '11, 13:01) cyberfreak

nie chodzi o "zalogowanie się" przez przeglądarkę, tylko o wejscie do systemu na poziomie programistycznym, co wymaga również zalogowanie się na tym poziomie.

(13 List '11, 15:35) uirapuru

Twoja odpowiedź

toggle preview

Podstawy składni Markdown

  • *kursywa* lub __kursywa__
  • **pogrubienie** lub __pogrubienie__
  • link:[tekst](http://url.com/ "Tytuł")
  • obraz?![alt tekst](/path/img.jpg "Tytuł")
  • wypunktowanie: 1. Foo 2. Bar
  • aby przełamać wiersz, po prostu dodaj dwie spacje w miejscu, w którym chcesz, aby nowy wiersz się rozpoczął
  • podstawowoe znaczniki HTML również są obsługiwane

Tagi pytania:

×450

zadane: 11 List '11, 21:44

wyświetlane: 4,145 razy

ostatnia aktywność: 20 Kwie '13, 00:12