konto usunięte

Temat: web crawler + frameworki C/C++ dla *nix

Czesc,

zastanawiam sie nad wyborem jezyka do stworzenia web crawlera, powaznie rozwazam C i C++ na platformie Linux, co o tym sadzicie?

1. Czy wybor C badz C++ jest dobry, jesli tak co bedzie lepsze i dlaczego ?

2. A jesli tak, czy mozecie polecic jakies frameworki, ktore moga usprawnic/ulatwic realizacje takiego rozwiazania ?

Bede wdzieczny za wszelkie linki i informacje, ktore uwazacie za pomocne.

konto usunięte

Temat: web crawler + frameworki C/C++ dla *nix

Tomasz Grzechowski:

1. Czy wybor C badz C++ jest dobry, jesli tak co bedzie lepsze i dlaczego ?

C++, bo Qt jest w C++.
2. A jesli tak, czy mozecie polecic jakies frameworki, ktore moga usprawnic/ulatwic realizacje takiego rozwiazania ?

Qt :)
Bede wdzieczny za wszelkie linki i informacje, ktore uwazacie za pomocne.

W Qt jest moduł Network z klasami m.in. QHttp (starsza) QNetworkAccessManager (nowsza i polecana przez twórców Qt).

konto usunięte

Temat: web crawler + frameworki C/C++ dla *nix

To ciekawe, dzis zaczalem pisac crawlera w C++ na Linuksa(w zasadzie na Win tez bedzie smigal) i po sprawdzeniu paru opcji padlo na Qt (ktore troche znam ale tylko do GUI).

Powodzenia :)Przemysław O. edytował(a) ten post dnia 18.12.09 o godzinie 20:46

konto usunięte

Temat: web crawler + frameworki C/C++ dla *nix

Przyznam, ze nie mam doswiadczenia w programowaniu w Qt, ale z drugiej strony Qt zawsze kojarzylo mi sie (od strony uzytkownika) z aplikacjami, ktore niestety nie sa zbyt zrywne, ze wzgledu wlasnie na Qt.

Jesli mialem do wyboru kompilacje np. do GTK albo do Qt wybieralem GTK.

Nie odrzucam z gory Waszej propozycji, ale przyznam szczerze, ze takie przekonanie moze mi przeszkadzac w wyborze. Co o tym myslicie?Tomasz Grzechowski edytował(a) ten post dnia 19.12.09 o godzinie 10:59

konto usunięte

Temat: web crawler + frameworki C/C++ dla *nix

Przemysław O.:
To ciekawe, dzis zaczalem pisac crawlera w C++ na Linuksa(w zasadzie na Win tez bedzie smigal) i po sprawdzeniu paru opcji padlo na Qt (ktore troche znam ale tylko do GUI).

Czy moglbys przytoczyc pozostale opcje ?

konto usunięte

Temat: web crawler + frameworki C/C++ dla *nix

Tomasz Grzechowski:
Jesli mialem do wyboru kompilacje np. do GTK albo do Qt wybieralem GTK.

Nie odrzucam z gory Waszej propozycji, ale przyznam szczerze, ze takie przekonanie moze mi przeszkadzac w wyborze. Co o tym myslicie?Tomasz Grzechowski edytował(a) ten post dnia 19.12.09 o godzinie 10:59

Pewnie chodzi tu o używaniu aplikacji pod Gnome. Wtedy aplikacja GTK+ jest rzeczywiście bardziej responsywna. Ale jeśli chodzi szybkość "crawlowania", to wybór frameworka nie ma większego znaczenia.
Piotr P.

Piotr P. Software Developer

Temat: web crawler + frameworki C/C++ dla *nix

Tomasz Grzechowski:
Jesli mialem do wyboru kompilacje np. do GTK albo do Qt wybieralem GTK.

Gdybym myślał o GTK to na pewno wykorzystałbym GObject (OOP w C poprzez konwencje) do napisania podstawowej biblioteki tego programu. Jeśli nie chcesz pisać tego bezpośrednio w C możesz użyć vala. Do tak napisanej biblioteki dołączenie interfejsu w GTK czy QT nie będzie stanowiło problemu. Albo prostego programu uruchamianego z lini poleceń czy nawet demona.

Dodatkowo jeśli użyjesz vala masz zapewnioną pełna introspekcję GObject co oznacza, że do Twojej biblioteki możesz szybko stworzyć C# (Mono) bindings, na przykład.

Więcej roboty, ale też większe możliwości i większa elastyczność.
Szymon Kubisiak

Szymon Kubisiak Developer aplikacji
mobilnych Android

Temat: web crawler + frameworki C/C++ dla *nix

Ja sobie rzeźbię crawlerka w C# jako zapoznanie z językiem i muszę powiedzieć że ten mój drugi kontakt z C# idzie całkiem znośnie.

Nie bardzo widzę interfejs do tego - zapuszczasz i sobie mieli. Jedyne co mam to progress bar w konsoli, stare dobre [OOoo..] :D
Przydatny framework to HTTP GET, regexp + interfejs do bazy, więcej mi nie przychodzi do głowy nic.

Mój wybór padł na język wysokopoziomowy z racji tego że crawler to samo mieszanie w stringach a z drugiej strony szybkość jest bez znaczenia bo ograniczenia nakłada internet. Paranoik pomyśli nawet o zwalnianiu do prędkości browsowania człowieka by uniknąć wykrycia.

Mógłbym zrobić to w C++, ale widzę że w sharpie wyszło prościej.

Temat: web crawler + frameworki C/C++ dla *nix

Mozna tez pomyslec o POCO jezeli koniecznie c++. Znajdziesz tam wszystko czego potrzeba zarowno do komunikacji jak i obrobki otrzymanych danych. Jezeli nie ma takiego cisnienia na c++ to Python + spory wybor najprzerozniejszych narzedzi.
Marcin K.

Marcin K. Lead Software
Engineer, Tieto
Polska

Temat: web crawler + frameworki C/C++ dla *nix

Witam, dołożę swoje trzy grosze, jeśli omijasz z jakiegoś powodu Qt-a szerokim łukiem, zawsze możesz skorzystać np. z boost-a(asio) i/lub curlpp , użyć jednego z dostępnych parserów html-a i/lub regexpy ( może te w tr1 wystarczyłyby :-) ) lub napisać na szybko swój własny parser( to zależy jakich funkcjonalności twój crawler potrzebuje - czy potrzebujesz np. analizy dynamicznie generowanych linków z javascriptu )

Pozdrawiam
Paweł Kołodziej

Paweł Kołodziej Programista,
projektant FPGA; Nie
jestem
zainteresowany p...

Temat: web crawler + frameworki C/C++ dla *nix

Masz jakiś dobry argument dlaczego C/C++ a nie np. python? Nie wiem jaka jest dokładnie specyfika Twojej aplikacji, ale jeśli wydajność CPU/MEM nie jest krytyczna (domyślam się, że wąskim gardłem będzie raczej dostęp do sieci czy wydajność web serwerów) to sugerował bym jakiś bardziej przyjazny język.

konto usunięte

Temat: web crawler + frameworki C/C++ dla *nix

Paweł Kołodziej:
Masz jakiś dobry argument dlaczego C/C++ a nie np. python? Nie wiem jaka jest dokładnie specyfika Twojej aplikacji, ale jeśli wydajność CPU/MEM nie jest krytyczna (domyślam się, że wąskim gardłem będzie raczej dostęp do sieci czy wydajność web serwerów) to sugerował bym jakiś bardziej przyjazny język.

C++ jest bardzo przyjazny, punkt widzenia zależy od punktu siedzenia. Ja się zaprzyjaźniłem i dobrze się dogadujemy. Grupa C/C++, pytanie o C/C++ a Ty tu z Pythonem :) A kysz zielony wężu ^^

PS. Lubie Pythona, żeby nie było :)
Jakub L.

Jakub L. Programista

Temat: web crawler + frameworki C/C++ dla *nix

Pewnie dlatego, że chce pobawić się C/C++ a nie Pythonem.

A Python paskudny jest, obok Pike'a darzę go szczerą antypatią.

konto usunięte

Temat: web crawler + frameworki C/C++ dla *nix

Jest jeszcze Pion Network library (+ boost.asio / threads).

Ale nie mam zielonego pojęcia jak to działa, po prostu będę to chyba wykorzystywał w następnym domowym projekcie (o ile sam boost nie wystarczy).

Co do pytania na temat Pythona, to nie jest ono takie głupie. Języki skryptowe bardzo przyspieszają pracę, i jeśli lokalna wydajność nie będzie najważniejsza (np. w trakcie ściągania treści z netu), to warto się nad tym zastanowić. Język skryptowy daje elastyczność i łatwość integracji (znam PHP-a, w Pythonie jest pewnie podobnie). No i mają z reguły sprawdzone i rozbudowane środowisko do pracy z siecią.Piotr Likus edytował(a) ten post dnia 28.01.10 o godzinie 09:49

Następna dyskusja:

Rozszerzenie/klasa SQL dla C++




Wyślij zaproszenie do