jak można policzyć ilość wystąpień wyrażenia na stronie www?

Oglądasz archiwalną wersję tematu "jak można policzyć ilość wystąpień wyrażenia na stronie www?" z forum pl.comp.programming


Strona 1 z 11

Grzegorz - 1 Gru 2007, 13:04

Witam,
otrzymałem zadanie (w związku z ubieganiem się o pracę):

wystąpień wybranego wyrażenia na stronie o podanym adresie http://..., czas:
~5h
Mam pytanie jak byście spróbowali podejść do w/w zadania? Ja wybrałem dwa
rozwiązania:
1. użyłem kontrolki ActiveX Internet Explorer (w Borlandzie: TCppWebBrowser),
próbowałem rekurencyjnie przechodzić przez strukturę DOM i odczytać InnerText
tylko dla jego liści, ale tę metodę odpuściłem sobie gdy zobaczyłem, że coś
podobnego uzyskałem gdy wczytałem tylko element BODY i odczytałem atrybut
InnerText, który jeśli dobrze zobaczyłem zawierał zawartość strony już bez
znaczników.
2. w C# znalazłem prosty parser HTML, odczytałem element BODY i następnie
rekurenyjnie odczytałem właściwość, pobierającą text między znacznikami HTML.

Obie metody dla kilku wyrażeń zwróciły ten sam wynik :), tylko mam pewną
wątpliwość czy jest to faktyczna liczba wyświetlana na stronie w danym
momencie, ponieważ chyba odczytałem zawartość wszystkich znaczników także
tych w danym momencie ukrytych :(

z góry dziękuje za odpowiedź i pozdrawiam Grzegorz

Solaris - 1 Gru 2007, 13:53


: Witam,
: otrzymałem zadanie (w związku z ubieganiem się o pracę):

: wystąpień wybranego wyrażenia na stronie o podanym adresie http://..., czas:
: ~5h
...

Panu podziękujemy. Jeżeli chcesz pracować to powinieneś sam do tego dojść
a nie radzić się innych. W ten sposób oszukasz pracodawcę.

edx - 1 Gru 2007, 14:12


Witam,
otrzymałem zadanie (w związku z ubieganiem się o pracę):

wystąpień wybranego wyrażenia na stronie o podanym adresie http://..., czas:
[cut]
z góry dziękuje za odpowiedź i pozdrawiam Grzegorz


wpuścili Ciebie w tzw. kanał ...
Żaden program nie policzy "ilości" wystąpień danego wyrażenia na
stronie. Może co najwyżej określić "liczbę" takich wystąpień.
Pojęcie "ilość" jest zarezerwowane do miary obiektów niepoliczalnych.

pozdrawiam :),
Edward

edx - 1 Gru 2007, 14:13


Witam,
otrzymałem zadanie (w związku z ubieganiem się o pracę):

wystąpień wybranego wyrażenia na stronie o podanym adresie http://..., czas:
[cut]
z góry dziękuje za odpowiedź i pozdrawiam Grzegorz


wpuścili Ciebie w tzw. kanał ...
Żaden program nie policzy "ilości" wystąpień danego wyrażenia na
stronie. Może co najwyżej określić "liczbę" takich wystąpień.
Pojęcie "ilość" jest zarezerwowane do miary obiektów niepoliczalnych.

pozdrawiam :),
Edward

Grzegorz Michalski - 1 Gru 2007, 17:42

Po pierwsze już ten program oddałem, i chciałem się tylko dowiedzieć jak do
problemu podeszłaby inna osoba.
A po drugie co jest złego w zadawaniu pytań i radzeniu się innych, przecież

ew. ocenę rozwiązania jakie sam wybrałem.

Grzegorz Michalski - 1 Gru 2007, 17:44

ta "ilość" to moja "twórcze" pisanie, dzięki za zwrócenie uwagi :)

wpuścili Ciebie w tzw. kanał ...
Żaden program nie policzy "ilości" wystąpień danego wyrażenia na
stronie. Może co najwyżej określić "liczbę" takich wystąpień.
Pojęcie "ilość" jest zarezerwowane do miary obiektów niepoliczalnych.

pozdrawiam :),
Edward


--
Wysłano z serwisu Usenet w portalu Gazeta.pl -http://www.gazeta.pl/usenet/

Grzegorz Michalski - 1 Gru 2007, 17:52


Panu podziękujemy. Jeżeli chcesz pracować to powinieneś sam do tego dojść
a nie radzić się innych. W ten sposób oszukasz pracodawcę.


Czyli na czas pisania takiego zadania powinienem odłączyć się wogóle od
sieci, bo jeszcze np. w Google lub na jakiejś stronie znajdę rozwiązanie
podobnego problemu? Ciekawe podejście ;)

Tristan - 2 Gru 2007, 04:30

W odpowiedzi na pismo z sobota, 01 grudzień 2007 20:12
(autor edx
publikowane na pl.comp.programming,

Pojęcie "ilość" jest zarezerwowane do miary obiektów niepoliczalnych.


Ta? A miałeś kiedyś w ręku fakturę?

TOWAR: Młotek do wbijania w głowę wiedzy
jm: sztuka
ilość: 3

Piotr Dembiński - 2 Gru 2007, 14:29


Witam,
otrzymałem zadanie (w związku z ubieganiem się o pracę):


Masz licencję na C++ Builder?

Szymon - 2 Gru 2007, 15:19


Witam,
otrzymałem zadanie (w związku z ubieganiem się o pracę):

wystąpień wybranego wyrażenia na stronie o podanym adresie http://..., czas:
~5h
Mam pytanie jak byście spróbowali podejść do w/w zadania? Ja wybrałem dwa
rozwiązania:
1. użyłem kontrolki ActiveX Internet Explorer (w Borlandzie: TCppWebBrowser),
próbowałem rekurencyjnie przechodzić przez strukturę DOM i odczytać InnerText
tylko dla jego liści, ale tę metodę odpuściłem sobie gdy zobaczyłem, że coś
podobnego uzyskałem gdy wczytałem tylko element BODY i odczytałem atrybut
InnerText, który jeśli dobrze zobaczyłem zawierał zawartość strony już bez
znaczników.
2. w C# znalazłem prosty parser HTML, odczytałem element BODY i następnie
rekurenyjnie odczytałem właściwość, pobierającą text między znacznikami HTML.

Obie metody dla kilku wyrażeń zwróciły ten sam wynik :), tylko mam pewną
wątpliwość czy jest to faktyczna liczba wyświetlana na stronie w danym
momencie, ponieważ chyba odczytałem zawartość wszystkich znaczników także
tych w danym momencie ukrytych :(

z góry dziękuje za odpowiedź i pozdrawiam Grzegorz


A co to znaczy że tekst występuje? Że go widać? Jeśli tak to rozumiem,
że parsujesz tekst w poszukiwaniu komentarzy do wywalenia, sprawdzisz
style czy może tekst nie jest na białym tle i go nie widać, albo czy nie
jest ustawiony jakiś atrybut żeby obiekt był niewidoczny.
Bo jeśli chodzi o kod HTML strony, to wtedy musisz parsować źródło
strony, czyli np. ściągnij ją sobie jakoś przez protokół HTTP.

Grzegorz Michalski - 2 Gru 2007, 16:05


sądzę aby było to do zrobienia w kilka godzin.

pozdrawiam Grzegorz

A co to znaczy że tekst występuje? Że go widać? Jeśli tak to rozumiem,
że parsujesz tekst w poszukiwaniu komentarzy do wywalenia, sprawdzisz
style czy może tekst nie jest na białym tle i go nie widać, albo czy nie
jest ustawiony jakiś atrybut żeby obiekt był niewidoczny.
Bo jeśli chodzi o kod HTML strony, to wtedy musisz parsować źródło
strony, czyli np. ściągnij ją sobie jakoś przez protokół HTTP.


--
Wysłano z serwisu Usenet w portalu Gazeta.pl -http://www.gazeta.pl/usenet/

Grzegorz Michalski - 2 Gru 2007, 16:06

można wiedzieć czemu się pytasz?

Masz licencję na C++ Builder?


--
Wysłano z serwisu Usenet w portalu Gazeta.pl -http://www.gazeta.pl/usenet/

Szymon - 2 Gru 2007, 16:43




sądzę aby było to do zrobienia w kilka godzin.


Tak i odpowiadaj POD.
Poza tym weź pod uwagę, że każda przeglądarka interpretuje wszystko
inaczej, więc pytanie: według jakiej przeglądarki to ma być poprawne?

I z innej beczki, przyczepię się do czegoś innego. Dla mnie jest
oczywiste, że zadanie jest niepoprawnie określone i jeślibym miał komuś
takie dać, to nie oczekiwałbym że zacznie dopytywać o co tak właściwie
chodzi prezentując przy tym swoją wiedzę z zakresu działania stron www,
protokołu HTTP, struktury HTMLa i działania przeglądarek. Może jestem
staroświecki, ale dla mnie programista to nie jest ktoś kto nie potrafi
myśleć i tylko wyklikuje okienka w Builderze.

Jacek Czerwinski - 2 Gru 2007, 16:58




| sądzę aby było to do zrobienia w kilka godzin.

Tak i odpowiadaj POD.
Poza tym weź pod uwagę, że każda przeglądarka interpretuje wszystko
inaczej, więc pytanie: według jakiej przeglądarki to ma być poprawne?

I z innej beczki, przyczepię się do czegoś innego. Dla mnie jest
oczywiste, że zadanie jest niepoprawnie określone i jeślibym miał komuś
takie dać, to nie oczekiwałbym że zacznie dopytywać o co tak właściwie
chodzi prezentując przy tym swoją wiedzę z zakresu działania stron www,
protokołu HTTP, struktury HTMLa i działania przeglądarek. Może jestem
staroświecki, ale dla mnie programista to nie jest ktoś kto nie potrafi
myśleć i tylko wyklikuje okienka w Builderze.


Odróżnij dwie profesje:
a) programista
b) programista C++ Buildera
to co jak z podobienstwem
a) krzesła
b) krzesła elektrycznego
(Zwracacie uwage na rolę przymiotników, jak rośnie czy spada jakośc towaru
po doklejeniu przymiotnika?Np kiełbasa i kiełbasa wysokowydajna, jak ktoś
wie co to jest)

Grzegorz Michalski - 2 Gru 2007, 17:15


Odróżnij dwie profesje:
a) programista
b) programista C++ Buildera
to co jak z podobienstwem
a) krzesła
b) krzesła elektrycznego
(Zwracacie uwage na rolę przymiotników, jak rośnie czy spada jakośc towaru
po doklejeniu przymiotnika?Np kiełbasa i kiełbasa wysokowydajna, jak ktoś
wie co to jest)


Czy swoją wypowiedzią chciałeś kogoś obrazić, czy miał to być tylko dosyć
kiepski żart?

Szymon - 2 Gru 2007, 17:27


Odróżnij dwie profesje:
a) programista
b) programista C++ Buildera
to co jak z podobienstwem
a) krzesła
b) krzesła elektrycznego
(Zwracacie uwage na rolę przymiotników, jak rośnie czy spada jakośc towaru
po doklejeniu przymiotnika?Np kiełbasa i kiełbasa wysokowydajna, jak ktoś
wie co to jest)


Do dupy takie porównanie, przez dłuuugi czas programowałem w Builderze
(i nadal to czasem robię). Może z tą różnicą, że najczęściej nie
wyklikuję okienek... jak w oknie ma być jakieś 500 kontrolek, przy czym
jednocześnie max. 10-20 widocznych, to robi się to raczej ręcznie
tworząc je w kodzie, a nie wyklikując nie mówiąc o tym jak to
wyklikiwanie takiej liczby kontrolek jest upierdliwe i jak ciężko nad
tym zapanować no i oczywiście okno zaraz po utworzeniu tworzy wszystkie
wyklikane kontrolki, niezależnie od tego czy są akurat potrzebne :)

Jacek Czerwinski - 2 Gru 2007, 17:46



| Odróżnij dwie profesje:
| a) programista
| b) programista C++ Buildera
| to co jak z podobienstwem
| a) krzesła
| b) krzesła elektrycznego
| (Zwracacie uwage na rolę przymiotników, jak rośnie czy spada jakośc towaru
| po doklejeniu przymiotnika?Np kiełbasa i kiełbasa wysokowydajna, jak ktoś
| wie co to jest)

Do dupy takie porównanie, przez dłuuugi czas programowałem w Builderze
(i nadal to czasem robię).


Też

Może z tą różnicą, że najczęściej nie
wyklikuję okienek... jak w oknie ma być jakieś 500 kontrolek, przy czym
jednocześnie max. 10-20 widocznych, to robi się to raczej ręcznie
tworząc je w kodzie, a nie wyklikując nie mówiąc o tym jak to
wyklikiwanie takiej liczby kontrolek jest upierdliwe i jak ciężko nad
tym zapanować no i oczywiście okno zaraz po utworzeniu tworzy wszystkie
wyklikane kontrolki, niezależnie od tego czy są akurat potrzebne :)


Przejąłem kiedyś projekt gdzie w 15 zakładkach było pod tysiac widgetów. Co
ciekawe był to brat-klon innego podtematu (były w sumei 3 siostrzane
aplikacje). I klient nie mógł rozumieć ze na jednej apliakcji takie samo
okienko działa tak, na drugim siak a tzrecim nie może.

Rozp...m to do reszty, wyprojektowałem pojedynczą (treść) zakładki jako
klase z której się dziedziczyło, każda zakładka w jednolitym API, w jednej
jednostce projektowej.
Na finałowy produkt kładło się kodem (1 linijka kontruktora) takie zakładki
z puli, jakie tzreba było, lub się je wyjmowało bez katastrofy projektu.
Działały na wszystkich 3 siostrzanych apliakcjach oczywiście identycznie.

Oczywiście że na BCB MOŻNA robić dobre programy, tylko w swej średniej
jakoś tego się nie robi. Dziwne,nieeee?

Jak ktoś się przedstawia że jest Panem Programistą pod BCB to ... nie musze
kończyć. Po pierwsze to jest zawód gdzie - jak powiedziałeś - się myśli, po
drugie facet co zna jedną (oczywiście najlepszą) platformę to jest jeszcze
dzieciak. Ale programista BCB odchodzi powoli w przeszłość, przychodzi
programista komponentowy (jednak znów ten przymiotnik, cholera)

pozdrawiam programistów bez przymiotnika

Jacek Czerwinski - 2 Gru 2007, 17:53



| Odróżnij dwie profesje:
| a) programista
| b) programista C++ Buildera
| to co jak z podobienstwem
| a) krzesła
| b) krzesła elektrycznego
| (Zwracacie uwage na rolę przymiotników, jak rośnie czy spada jakośc towaru
| po doklejeniu przymiotnika?Np kiełbasa i kiełbasa wysokowydajna, jak ktoś
| wie co to jest)

Czy swoją wypowiedzią chciałeś kogoś obrazić, czy miał to być tylko dosyć
kiepski żart?


Powiedz, tak ciężko jest z robotą że trzeba się katowac dziwacznymi
zadaniami?

A pytania o 'kontrolki' są pozorne, bo i tak, i siak trzeba przejechać się
ostatecznie algorytmem po tekscie, i tu już żaden komponent nie ma nic do
rzeczy (a nawiasem na to nie ma jak języki interpretowane).

Grzegorz Michalski - 2 Gru 2007, 18:19


A pytania o 'kontrolki' są pozorne, bo i tak, i siak trzeba przejechać się
ostatecznie algorytmem po tekscie, i tu już żaden komponent nie ma nic do
rzeczy (a nawiasem na to nie ma jak języki interpretowane).


O jakie 'kontrolki' Ci chodzi?

Teraz napiszę ogólnie o tym wątku:
Rozpocząłem ten wątek, aby dowiedzieć się jak należałoby podejść do zadania
jak w temacie (które jest problemem stricte programistycznym), niestety tylko
kilka postów było "na temat" bo pozostałe nie wiele miały z nim wspólnego.
Odnoszę wrażenie, że część osób poprostu się nudzi i chociaż nie ma nic w
temacie do dodania to jednak musi swoje pięć groszy dołożyć (mam tu np.
pytanie o licencje, o to że programista BCB to nie programista, że zadanie
jest "dziwne").

pozdrawiam

Michał 'Khorne' Rzechonek - 3 Gru 2007, 10:07


Obie metody dla kilku wyrażeń zwróciły ten sam wynik :), tylko mam pewną
wątpliwość czy jest to faktyczna liczba wyświetlana na stronie w danym
momencie, ponieważ chyba odczytałem zawartość wszystkich znaczników także
tych w danym momencie ukrytych :(


Metoda jest IMO poprawna, ale co to jest "znacznik ukryty"?

Grzegorz Michalski - 3 Gru 2007, 10:29

Metoda jest IMO poprawna, ale co to jest "znacznik ukryty"?


poprzez "znacznik ukryty" miałem na myśli np. znacznik:
<div id="news2" style="display: none;"

pozdrawiam Grzegorz

Szymon - 3 Gru 2007, 10:37


| Metoda jest IMO poprawna, ale co to jest "znacznik ukryty"?

poprzez "znacznik ukryty" miałem na myśli np. znacznik:
<div id="news2" style="display: none;"

pozdrawiam Grzegorz


Czyli sprawdzasz też coś takiego:

<div id="news2" class="alamakota"
albo:
<div id="news2"

i dopiero w cssie coś takiego:
.alamakota ( display:none )
albo:
#news2 (display:none)

Również powiedziałbym, że jak masz tekst o jakimś kolorze, który jest
wyświetlany na takim samym, lub podobnym, tle, to wówczas też jest ukryty.

Marcin Biegan - 3 Gru 2007, 14:49



| A pytania o 'kontrolki' są pozorne, bo i tak, i siak trzeba przejechać się
| ostatecznie algorytmem po tekscie, i tu już żaden komponent nie ma nic do
| rzeczy (a nawiasem na to nie ma jak języki interpretowane).

O jakie 'kontrolki' Ci chodzi?

Teraz napiszę ogólnie o tym wątku:
Rozpocząłem ten wątek, aby dowiedzieć się jak należałoby podejść do zadania
jak w temacie (które jest problemem stricte programistycznym), niestety tylko
kilka postów było "na temat" bo pozostałe nie wiele miały z nim wspólnego.
Odnoszę wrażenie, że część osób poprostu się nudzi i chociaż nie ma nic w
temacie do dodania to jednak musi swoje pięć groszy dołożyć (mam tu np.
pytanie o licencje, o to że programista BCB to nie programista, że zadanie
jest "dziwne").


To w złym miejscu pytasz. Bo wiesz, na każdej grupie kilka odp. jest na temat,
a reszta to sam widzisz co :) (włączając w to mój post oczywiście)

Piotr Dembiński - 4 Gru 2007, 18:01



| A pytania o 'kontrolki' są pozorne, bo i tak, i siak trzeba
| przejechać się ostatecznie algorytmem po tekscie, i tu już żaden
| komponent nie ma nic do rzeczy (a nawiasem na to nie ma jak języki
| interpretowane).

O jakie 'kontrolki' Ci chodzi?


Pewnie o ActiveX -- takie wykastrowane obiekty CORBA.

Piotr Dembiński - 4 Gru 2007, 18:05



internetową, tak więc nie sądzę aby było to do zrobienia w kilka
godzin.


Sam widzisz ile czasu zajmuje zinterpretowanie kilkuzdaniowej
specyfikacji wymagań, a co dopiero zaprojektowanie i realizacja
rozwiązania, nie mówiąc o solidnym przetestowaniu tegoż.

Piotr Dembiński - 4 Gru 2007, 18:11




[ciap]

Przejąłem kiedyś projekt gdzie w 15 zakładkach było pod tysiac
widgetów.


Microsoft udostępnia za friko podręcznik projektowania GUI.

Piotr Dembiński - 4 Gru 2007, 18:13


można wiedzieć czemu się pytasz?

| Masz licencję na C++ Builder?


Nie jesteś pracownikiem, a licencja najprawdopodobniej jest na tę
firmę i jej pracowników.  Oczywiście można się spierać o to, czy
pisząc oprogramowanie na komputerze firmowym, na użytek procesu
rekrutacyjnego, łamiesz postanowienia licencji czy nie.

Piotr Dembiński - 4 Gru 2007, 18:14


można wiedzieć czemu się pytasz?

| Masz licencję na C++ Builder?


Nie jesteś pracownikiem, a licencja najprawdopodobniej jest na tę
firmę i jej pracowników.  Oczywiście można się spierać o to, czy
pisząc oprogramowanie na komputerze firmowym, na użytek procesu
rekrutacyjnego, łamiesz postanowienia umowy licencyjnej czy nie.

Jacek Czerwinski - 5 Gru 2007, 01:29




| A pytania o 'kontrolki' są pozorne, bo i tak, i siak trzeba
| przejechać się ostatecznie algorytmem po tekscie, i tu już żaden
| komponent nie ma nic do rzeczy (a nawiasem na to nie ma jak języki
| interpretowane).

| O jakie 'kontrolki' Ci chodzi?

Pewnie o ActiveX -- takie wykastrowane obiekty CORBA.



1. użyłem kontrolki ActiveX Internet Explorer (w Borlandzie: TCppWebBrowser),



Strona 1 z 11