Witajcie.
Chcę stworzyć parser stron www. Miało by to wyglądać tak:
- Na mojej stronie mam formularz z dwoma polami i przyciskiem. W pierwszym polu wpisuję pewien numer, w drugim z listy rozwijanej wybieram nazwę jakiejś strony i wciskam OK.
- Następnie parser na wybranej stronie we wskazanym formularzu, który tam się znajduję wkleja ten numer i potwierdza akcję. Ze strony wynikowej odpowiednie fragmenty HTML zapisuje mi do jakiegoś XML czy czegoś takiego.
- Ja na swojej stronie jako wynik wyświetlam właśnie dane w postaci tabeli pobrane z tego XMLa.
Ma sens takie rozwiązanie? Można to w miarę łatwo zrealizować?
W sieci jest masa informacji o parserach. Ale najpierw chciałbym przeanalizować schemat działania
W jaki sposób stworzyć parser stron
Napisano 11 października 2013 - 13:33
Napisano 15 października 2013 - 09:36
Jeśli dobrze rozumiem to chcesz wysyłać formularze z innych stron. W tym wypadku najlepiej przygotować dane jakie są wysyłane w poszczególnych formularzach i wysłać je bezpośrednio na adres podany w parametrze 'action' i przechwycić zwrot. Można do tego użyć curl'a.
Napisano 15 października 2013 - 10:12
Dane, które będę wysyłać tymi innymi formularzami najpierw zostają wprowadzone na mojej stronie w moim formularzu. Jest sens zapisywać je gdzieś do bazy, czy pliku? Nie mogę po wypełnieniu formularza trzymać tego w jakiejś zmiennej?
Napisano 15 października 2013 - 15:32
Najlepiej jest to zapisywać do bazy , gdyż ten drugi czy kolejny serwer na który chcesz wysłać dane bez problemu będzie mógł odczytać to co zostało wprowadzone, a co do pliku występują ryzyka, np. błąd przy wysyłaniu pliku czy przerwaniu łącza i wtedy tylko część zostanie przesłana a część nie, poza tym z czasem ten plik osiągnie spore rozmiary i przesyłanie za każdym razem będzie trwało coraz dłużej.
Napisano 15 października 2013 - 16:37
Najlepiej jest to zapisywać do bazy , gdyż ten drugi czy kolejny serwer na który chcesz wysłać dane bez problemu będzie mógł odczytać to co zostało wprowadzone, a co do pliku występują ryzyka, np. błąd przy wysyłaniu pliku czy przerwaniu łącza i wtedy tylko część zostanie przesłana a część nie, poza tym z czasem ten plik osiągnie spore rozmiary i przesyłanie za każdym razem będzie trwało coraz dłużej.
Z tym, że w zasadzie ja nie potrzebuję przechowywać tego numer długo (bo to tylko ciąg cyfr). Potrzebny on jest tylko do wypełnienia formularza na zewnętrznej stronie.
Napisano 16 października 2013 - 08:13
Dane, które będę wysyłać tymi innymi formularzami najpierw zostają wprowadzone na mojej stronie w moim formularzu. Jest sens zapisywać je gdzieś do bazy, czy pliku? Nie mogę po wypełnieniu formularza trzymać tego w jakiejś zmiennej?
Nie musisz tego zapisywać, jeśli nie chcesz. Wystarczy że w skrypcie obługującym formularz przekażesz dane przez curl do skryptu/formularza zewnętrznego i otrzymasz zwrot. Ten zwrot wyświetlasz swojemu użytkownikowi. Dla pewności ustalasz timeout, jakby serwer zewnętrzny nie odpowiedział.
Napisano 16 października 2013 - 09:49
Nie musisz tego zapisywać, jeśli nie chcesz. Wystarczy że w skrypcie obługującym formularz przekażesz dane przez curl do skryptu/formularza zewnętrznego i otrzymasz zwrot. Ten zwrot wyświetlasz swojemu użytkownikowi. Dla pewności ustalasz timeout, jakby serwer zewnętrzny nie odpowiedział.
Ok. Tak też myślałem A żeby tę zwrotkę z danymi wyświetlić na mojej stronie bez jej odświeżania to niezbędne jest jquery z ajaxem?
Napisano 18 października 2013 - 08:43
Ok. Tak też myślałem A żeby tę zwrotkę z danymi wyświetlić na mojej stronie bez jej odświeżania to niezbędne jest jquery z ajaxem?
Jeżeli nie chcesz przeładować strony po wysłaniu formularza to ajax będzie niezbędny, jquery zdwcydowanie ułatwi sprawę chociaż konieczne nie jest.
Napisano 21 października 2013 - 10:34
Możesz rozwinąć swoją myśl? Zainwestowałem niedawno w książkę PHP & AJAX, ale nie miałem czasu do niej zajrzeć Każda wskazówka będzie cenna
A przypominam, że jeśli chodzi o technologie backendowe to jestem w du...
Napisano 21 października 2013 - 10:50
Jak ma się robić post ajaxowy po wysłaniu formularza to dajesz tak:
$(form).submit(function(e){ e.preventDefault(); //dzięki temu form się nie wyśle $.post("/form/send.php",$(this).serialize(),function(respond){ console.log(respond); //tutaj robisz to co chccesz zeby sie zrobilo po wyslaniu formularza, a respond to jest wartosc zwrocona przez posta :) }); return false; });
webDeveloper
Napisano 21 października 2013 - 11:03
Jak ma się robić post ajaxowy po wysłaniu formularza to dajesz tak:
$.(form).submit(function(e){ e.preventDefault(); //dzięki temu form się nie wyśle $.post("/form/send.php",$(this).serialize(),function(respond){ console.log(respond); //tutaj robisz to co chccesz zeby sie zrobilo po wyslaniu formularza, a respond to jest wartosc zwrocona przez posta :) }); return false; });
Ok, dzięki. Muszę w końcu do tego przysiąść tak na poważnie i postudiować/pomęczyć, bo jakoś zebrać się nie mogę.
Napisano 21 października 2013 - 11:28
Tam był mały błąd na początku $.(form)... ma być bez kropki, czyli $(form)... Gdzie form to oczywiście form
webDeveloper
Napisano 22 października 2013 - 09:49
nie jeżeli odnosząc się do
Gdzie form to oczywiście form
wcześniej mamy:
var form = $("#jakisForm");
webDeveloper
Użytkownicy przeglądający ten temat: 1
0 użytkowników, 1 gości, 0 anonimowych