Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php] Automatyzacja danych w iMacros
cm812
post 11.06.2011, 13:16:14
Post #1





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 11.06.2011

Ostrzeżenie: (0%)
-----


Witam,

To mój pierwszy post i nie ukrywam wśród ludzi, którym nie dorastam do pięt z racji mojej wiedzy o programowaniu itp.
Ale mam problem i znając różne fora wiem, iż można na nich liczyć na życzliwych userów - i takąż nadzieję mam i tu wink.gif.

Problem mój polega na pobraniu pewnej liczby stron na dysk począwszy od np 60001 do 60100 i aby się te strony najlepiej
zapisały na dysku z nazwą odpowiadającą wpisanemu numerowi - jeśli to jest w ogóle możliwe.
Do tej pracy zaciągnąłem program iMacros jako dodatek do FF i sam coś nie mając pojęcia stworzyłem:

VERSION BUILD=7210419 RECORDER=FX
TAB T=1
URL GOTO=http://195.116.105.17
TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:NoFormName ATTR=ID:IWEDITNREDG CONTENT=65000
TAG POS=1 TYPE=INPUT:BUTTON FORM=NAME:NoFormName ATTR=ID:IWBUTTONSEARCH
SAVEAS TYPE=CPL FOLDER=* FILE=+_{{!NOW:yyyymmdd_hhnnss}}
TAG POS=1 TYPE=IMG ATTR=ID:XPMIWNAVIGATOR1_nav13
TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:NoFormName ATTR=ID:IWEDITNREDG CONTENT=65001
TAG POS=1 TYPE=INPUT:BUTTON FORM=NAME:NoFormName ATTR=ID:IWBUTTONSEARCH
SAVEAS TYPE=CPL FOLDER=* FILE=+_{{!NOW:yyyymmdd_hhnnss}}
TAG POS=1 TYPE=IMG ATTR=ID:XPMIWNAVIGATOR1_nav13
TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:NoFormName ATTR=ID:IWEDITNREDG CONTENT=65002
TAG POS=1 TYPE=INPUT:BUTTON FORM=NAME:NoFormName ATTR=ID:IWBUTTONSEARCH
SAVEAS TYPE=CPL FOLDER=* FILE=+_{{!NOW:yyyymmdd_hhnnss}}
TAG POS=1 TYPE=IMG ATTR=ID:XPMIWNAVIGATOR1_nav13

fajnie to wygląda ale:
1. musiałbym wpisać prawie 100 cyfr z ręki (od 60001 do 60100) a chciałbym aby gdzieś wpisać tylko liczbę od i do.
2. zapisuje mi to do plików nie z nazwą kolejnej cyfry - to teoretycznie można później zmienić w TotalCommander.

Czy w ogóle można tak napisać skrypt aby zadać mu pewien zakres i aby on sam sobie wprowadzał kolejne numery i ściągał te strony
bo ew. zapisywanie ich pod nazwą wpisanego numeru to już pełnia szczęścia by była.

Ew. proszę o info czy to jest wykonalne i gdzie może szukać pomocy.

Pozdrawiam serdecznie i liczę choć na małą informację
Go to the top of the page
+Quote Post
CuteOne
post 11.06.2011, 22:54:43
Post #2





Grupa: Zarejestrowani
Postów: 2 958
Pomógł: 574
Dołączył: 23.09.2008
Skąd: wiesz, że tu jestem?

Ostrzeżenie: (0%)
-----


w PHP to kilka linijek ;p problem to znać adresy stron.. ja podam ci przykład z uzyciem tablic

  1.  
  2. $array = array('wp.pl', 'onet.pl', 'interia.pl' itd..);
  3.  
  4. for($i = 0; $i < 10; $i++) {
  5.  
  6. $handler = file_get_contents('http://www.'.$array[$i]);
  7. file_put_contents('folder/'.$i.'.html', $handler);
  8. }
Go to the top of the page
+Quote Post
cm812
post 12.06.2011, 14:58:27
Post #3





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 11.06.2011

Ostrzeżenie: (0%)
-----


Witaj,

Dzięki za odzew wink.gif
co do adresu stron to nie rozumiem za bardzo o co chodzi, bo w moim przypadku jest to jedna stronka http.
W tym przykładzie co podałem chodzi mi jak w programie iMacros (tym darmowym pod firefox'em) zapętlić pewna czynność.

dokładnie z mojego przykładu to zrobić tak aby:
1. wpisać pewien zakres liczb np. 60001 do 60100
2. na żądanej stronce aby w odpowiednim miejscu same się te cyfry kolejno wpisywały i pobierały stronkę na hdd.
3. o opcji zapisywania/pobierania stronki zgodnie z wyszukiwaną liczba to już nie marzę wink.gif.

jak to zrobić aby tę część mojego makro jakoś zautomatyzować/zapętlić:

TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:NoFormName ATTR=ID:IWEDITNREDG CONTENT=65000
TAG POS=1 TYPE=INPUT:BUTTON FORM=NAME:NoFormName ATTR=ID:IWBUTTONSEARCH
SAVEAS TYPE=CPL FOLDER=* FILE=+_{{!NOW:yyyymmdd_hhnnss}}
TAG POS=1 TYPE=IMG ATTR=ID:XPMIWNAVIGATOR1_nav13

to mi działa ale musiałbym 100 razy napisać te wiersze wprowadzając kolejne cyfry - co w przypadku mojej niewiedzy lepszym okazało by się
robienie tego z palca a nie szukanie automatu.

Ktoś mi już pomógł w inny sposób ale niestety musiałbym posiadać pełną wersję programu (nie dodatku do FF) iMacros. Fajnie to zrobił bo wpisuje się
zakres liczbowy i program się uruchamia, ściąga stronkę z numerem i ja zapisuje, ponownie się otwiera ściąga kolejną i ją zapisuje itd.
Problemem jest, że nie robi tego przy jednym uruchomieniu tylko otwiera i zamyka.
Dla mnie bardziej poręczny byłby iMacros pod FF ale to i tak z braku całkowitej wiedzy w temacie - dla mnie to po prostu Chiński wink.gif
Go to the top of the page
+Quote Post
CuteOne
post 13.06.2011, 23:16:31
Post #4





Grupa: Zarejestrowani
Postów: 2 958
Pomógł: 574
Dołączył: 23.09.2008
Skąd: wiesz, że tu jestem?

Ostrzeżenie: (0%)
-----


Nie mialem do czynienia z iMacrosem ale to co mówisz można zrobić poprzez cURL'a poczytaj sobie o nim na google smile.gif
Go to the top of the page
+Quote Post
cm812
post 14.06.2011, 17:10:04
Post #5





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 11.06.2011

Ostrzeżenie: (0%)
-----


dzięki @CuteOne ale kompletnie nie znam się na tym, co wcześniej przyznałem ;(
Tak w duchu myślałem, że nie ma problemu aby ktoś kumaty w temacie ściągnął sobie tego iMacros'a i zobaczył po skopiowaniu co te moje wypociny robią i...
dam sobie uciąć, że ktoś z podstawową nawet wiedzą dopisze kilka linijek i będzie to działało.

Niestety jeśli będę musiał pojąć język php czy inny to raczej z racji wieku odpuszczę wink.gif można nie dożyć!
I pozostanie mi ręczne wchodzenie na stronkę wpisywanie kolejnego numeru i zapisywanie stronki na dysk, praca mozolna
ale nie mam chyba wyjścia.
no może jeśli ktoś wgra na moment iMacros'a i sie zaśmieje jaki to banał to mi słońca przychyli, ale to już tylko od Was zależy.

pozdr.

byłem na stronce curl.haxx.se - ale aż się wystraszyłem, wink.gif
Go to the top of the page
+Quote Post
Fifi209
post 14.06.2011, 17:17:17
Post #6





Grupa: Zarejestrowani
Postów: 4 655
Pomógł: 556
Dołączył: 17.03.2009
Skąd: Katowice

Ostrzeżenie: (0%)
-----


A tutaj curl byłeś? smile.gif


--------------------
Zainteresowania: C#, PHP, JS, SQL, AJAX, XML, C dla AVR
Chętnie pomogę, lecz zanim napiszesz: Wujek Google , Manual PHP
Go to the top of the page
+Quote Post
Szeszek1992
post 14.06.2011, 17:17:57
Post #7





Grupa: Zarejestrowani
Postów: 117
Pomógł: 29
Dołączył: 20.05.2009

Ostrzeżenie: (0%)
-----


Polecam zapoznać się z simple_html_dom.
W jakiejś pętli wywołasz sobie po prostu:
  1. $html = file_get_dom('http://www.google.com/');
  2. $html->save('JakisAdresGenerowanyNaPetli.html');
  3. $html->clear();
  4. unset($html);


Pozdrawiam.


--------------------
Go to the top of the page
+Quote Post
cm812
post 14.06.2011, 18:03:19
Post #8





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 11.06.2011

Ostrzeżenie: (0%)
-----


Panowie, dzięki ale jak wspomniałem nie rozumiem/umiem programować, nawet nie wiem jak uruchomić przykład @Szeszek1992 ;(
to smutne ale w moich czasach wszechjedyny był język rosyjski.

Dla mnie jedyną pomocą jest napisanie co i jak abym mógł zautomatyzować moją pracę. Mimo szczerych chęci ciężko mi studiować teraz języki programowania.

Jak ktoś da radę to zapraszam na stronkę http://195.116.105.17
proszę wpisać nr EDG - np. 60000, dać "szukaj" i otwartą stronę zapisać na hdd, najlepiej pod nazwą "60000"
i teraz potrzebuje takich zapisów od nr 60000 do 60200 - tu tkwi problem, na razie bo sam nie wiem kiedy będę musiał zapisać kolejne pule.

da sie to zrobić w jakimś automacie czy muszę wszystko ręcznie?

ot cały problem
Go to the top of the page
+Quote Post
Fifi209
post 14.06.2011, 18:21:48
Post #9





Grupa: Zarejestrowani
Postów: 4 655
Pomógł: 556
Dołączył: 17.03.2009
Skąd: Katowice

Ostrzeżenie: (0%)
-----


Chętnie bym pomógł, lecz...

Error message raised by the application: Unknown browser type.


--------------------
Zainteresowania: C#, PHP, JS, SQL, AJAX, XML, C dla AVR
Chętnie pomogę, lecz zanim napiszesz: Wujek Google , Manual PHP
Go to the top of the page
+Quote Post
cm812
post 14.06.2011, 18:43:40
Post #10





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 11.06.2011

Ostrzeżenie: (0%)
-----


questionmark.gif? u mnie działa, może
http://195.116.105.17/

pomoże wink.gif
Go to the top of the page
+Quote Post
gac3k
post 14.06.2011, 19:21:02
Post #11





Grupa: Zarejestrowani
Postów: 90
Pomógł: 8
Dołączył: 28.07.2009

Ostrzeżenie: (0%)
-----


Nie chce Cię martwić ale ciężko Ci tu będzie znaleźć kogoś kto Ci to napisze za darmo smile.gif

To nie będzie żaden skomplikowany skrypt, bo właściwie wystarczy CURL i pętla, mogę cię tak nakierować

[php]
<?php
$range = range(60000,60200); //tutaj wstawiasz przedział
foreach($range as $current)
{
//tutaj cała operacja przesłania danych z curla smile.gif
%

Ten post edytował gac3k 14.06.2011, 19:26:52
Go to the top of the page
+Quote Post
cm812
post 14.06.2011, 23:34:08
Post #12





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 11.06.2011

Ostrzeżenie: (0%)
-----


"nieskomplikowany skrypt" czyli da się, tyle że za kasę - widać wszędzie komercja i żądza pieniądza, cóż.

a ile taki skrypt by kosztował, wraz z pomocą w odpaleniu?

pozdr

dzięki @gac3k za rozjaśnienie dlaczego tak skąpo z pomocą - po prostu nie wiedziałem,
ja jak tylko coś potrafię to się dzielę i pomagam - ponoć to wraca 2x więcej, ponoć ...

szkoda, ale też nie bardzo wiem jak zacząć korzystać i z Twojej pomocy, czy wkleić te wersy (i czy w takiej formie)
do moich linijek z iMacros, czy po prostu ściągnąć "curl'a" i uczyć się angielskiego.

Ten post edytował cm812 14.06.2011, 23:42:24
Go to the top of the page
+Quote Post
thek
post 15.06.2011, 07:27:47
Post #13





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




Myślę, że ten temat Ci ciutkę rozjaśni sytuację:
http://stackoverflow.com/questions/5634450...very-other-href

Z początku myślałem, że da się to rozwiązać z użyciem LOOP, ale jak widać iMacros nie mają jako takiego wsparcia dla pętli i pozostaje posiłkować się kombinacją iMacros+JS, tak jak w tamtym temacie (zobacz przykład). Myślę, że chyba o to Ci chodzi...


--------------------
Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
Go to the top of the page
+Quote Post
cm812
post 23.06.2011, 17:40:03
Post #14





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 11.06.2011

Ostrzeżenie: (0%)
-----


nic z tego, jestem po prostu kiep wink.gif
nie kumam tego języka i za cholerę nie umie sobie poradzić z Waszymi pomocami, a szkoda bo się poświęcacie.

Jedyne co mi połowicznie wyszło, to napisanie kilku wierszy w iMacros pod FF (bo jest free) ale plik, który mi się ściąga nie jest już stronką html
a plikiem *.png - dużo lżejszym. Z racji takiej, że nie umiałem zrobić tak aby aby program sam zapisywał mi zgodnie z nr który wpisałem, zrobiłem to ręcznie w excell'u.
Może jest jakieś magiczne słowo czy komenda ale, że go nie znam zrobiłem jak umiałem. Efekt jest prawie taki jaki chciałem - dużo pracy z wpisywaniem i nie wiem jak duże może być to makro.

wyszło tak:

VERSION BUILD=7220523 RECORDER=FX
TAB T=1
URL GOTO=http://195.116.105.17
TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:NoFormName ATTR=ID:IWEDITNREDG CONTENT=44445
TAG POS=1 TYPE=INPUT:BUTTON FORM=NAME:NoFormName ATTR=ID:IWBUTTONSEARCH
SAVEAS TYPE=PNG FOLDER=* FILE=44445
TAG POS=1 TYPE=IMG ATTR=ID:XPMIWNAVIGATOR1_nav13
TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:NoFormName ATTR=ID:IWEDITNREDG CONTENT=44446
TAG POS=1 TYPE=INPUT:BUTTON FORM=NAME:NoFormName ATTR=ID:IWBUTTONSEARCH
SAVEAS TYPE=PNG FOLDER=* FILE=44446
TAG POS=1 TYPE=IMG ATTR=ID:XPMIWNAVIGATOR1_nav13

to oczywiście wycinek bo te dane wrzucam do excela i kopiuję tak aby mi zmieniało na kolejne cyfry, problem jest też taki, że zmienia mi stałą_nav13!
ale już coś się dzieje wink.gif
Oczywiście wolałbym coś prostszego i aby nie wymagało to takiego wkładu ale cóż, mam tylko iMacros pod FF i o wersji komercjalnej niestety muszę pomarzyć!

Może coś jeszcze możecie pomóc ale wiedzcie, technicznie i ogólnie nie kumam angielskiego - wiem, wstyd.
Go to the top of the page
+Quote Post
-Gość-
post 10.11.2011, 15:10:14
Post #15





Goście







Być może przestarzałe już, ale na przyszłość jeśli ktoś chce pobrać stronę całą nie potrzeba używać iMacros wystarczy program do kopiowania pełnych stron www - teleport pro.
w iMacrosie również szukam zapętlenia ale nie widzę opcji
Go to the top of the page
+Quote Post
-chinek-
post 23.11.2011, 21:09:14
Post #16





Goście







Witam.
Pewnie już za późno, ale napiszę odp smile.gif
Kod
VERSION BUILD=7220523 RECORDER=FX
TAB T=1
URL GOTO=http://195.116.105.17
SET !Loop 44445
TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:NoFormName ATTR=ID:IWEDITNREDG CONTENT={{!Loop}}
TAG POS=1 TYPE=INPUT:BUTTON FORM=NAME:NoFormName ATTR=ID:IWBUTTONSEARCH
SAVEAS TYPE=PNG FOLDER=* FILE={{!Loop}}

I teraz tak:
chcesz zrobić np od 44445 do 50000 tak więc w kodzie musisz ustawić od ilu ma sie zaczynac (SET !Loop 44445) a w oknie "Powtórz makro" wpisujesz w polu max 50000 i klikasz button "Odtwórz(Pętla)".
Pozdrawiam
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 12.07.2025 - 13:40