C++ Pobieranie danych z internetu

Wszystko co dotyczy tworzenia i optymalizacji stron internetowych oraz programowania
Awatar użytkownika
tomass

Użytkownik
Posty: 33
Rejestracja: 24 maja 2010, 17:22
Lokalizacja: Sarnowa

C++ Pobieranie danych z internetu

Post15 lip 2010, 12:49

Witam,
Jak zedytować plik.cpp:
// Jakiś program..
#include <iostream>
#include <conio.h>
void main()
{
std::cout << "Wersja tego programu to - tu ma być treść która będzie na przykład na Dostępne tylko dla zarejestrowanych użytkowników " << std::endl;
getch();
}


A na Dostępne tylko dla zarejestrowanych użytkowników będzie np. taki tekst "1.0.15"

Więc jak udoskonalić program ?

mir

Stały bywalec
Posty: 617
Rejestracja: 01 kwie 2009, 15:23

C++ Pobieranie danych z internetu

Post15 lip 2010, 18:36

użyj biblioteki cURL, mogę podrzucić kod
rozumiem że chodzi Ci o pobranie kodu źródłowego strony, dobrze rozumiem?
po prostu: pobierasz kod źródłowy strony, potem parsujesz - wyciągasz to co Cię interesuje,
jak nie dasz rady mogę pomóc.
Ostatnio zmieniony 15 lip 2010, 18:42 przez mir, łącznie zmieniany 1 raz.

Awatar użytkownika
tomass

Użytkownik
Posty: 33
Rejestracja: 24 maja 2010, 17:22
Lokalizacja: Sarnowa

C++ Pobieranie danych z internetu

Post15 lip 2010, 18:39

tak, a czy może ktoś od razu to zedytować kod, a nie dawać jakieś wskazówki to mi bardziej pomorze :)

mir

Stały bywalec
Posty: 617
Rejestracja: 01 kwie 2009, 15:23

C++ Pobieranie danych z internetu

Post15 lip 2010, 19:08

jednak bardziej bym Ci pomógł gdybym Ci "dał wędkę a nie rybę"
ale ok, potem postaram się podrzucić kod źródłowy.
ale najpierw powiedz:
jakie masz środowisko programistyczne?
oraz jaki masz system operacyjny?

Awatar użytkownika
tomass

Użytkownik
Posty: 33
Rejestracja: 24 maja 2010, 17:22
Lokalizacja: Sarnowa

C++ Pobieranie danych z internetu

Post15 lip 2010, 19:20

jakie masz środowisko programistyczne?
oraz jaki masz system operacyjny?

Ja używam Visual C++ 2005 Express Edition, a system win vista (ale żeby to działało nie tylko na viscie)
jakie masz środowisko programistyczne?
oraz jaki masz system operacyjny?

A jest jakaś różnica jakiego środowiska lub systemu się używa ?
jednak bardziej bym Ci pomógł gdybym Ci "dał wędkę a nie rybę"

Ja wole rybę bo ją oglądnę i zjem (postaram się zapamiętam lub zapisać gdzieś), a z wędką mogę mieć problem (mogę nie wiedzieć jak jej użyć)

mir

Stały bywalec
Posty: 617
Rejestracja: 01 kwie 2009, 15:23

C++ Pobieranie danych z internetu

Post15 lip 2010, 19:36

A jest jakaś różnica jakiego środowiska lub systemu się używa ?

będzie działało też pod linuxem - tutaj kwestia pod jaką platformę powinieneś pobrać bibliotekę.

Ja wole rybę bo ją oglądnę i zjem (postaram się zapamiętam lub zapisać gdzieś), a z wędką mogę mieć problem (mogę nie wiedzieć jak jej użyć)

nie każe Ci "łowić na głębokiej wodzie", poza tym gdybyś nie wiedział dałbym instrukcję do tej wędki:)

potem dam kod źródłowy.

Awatar użytkownika
tomass

Użytkownik
Posty: 33
Rejestracja: 24 maja 2010, 17:22
Lokalizacja: Sarnowa

C++ Pobieranie danych z internetu

Post15 lip 2010, 19:52

będzie działało też pod linuxem - tutaj kwestia pod jaką platformę powinieneś pobrać bibliotekę.

Chodzi mi tylko o Windowsa nie potrzebuje na Linuxa, Mac OS ani inne systemy.
nie każe Ci "łowić na głębokiej wodzie", poza tym gdybyś nie wiedział dałbym instrukcję do tej wędki:)
potem dam kod źródłowy.

jak mi dasz instrukcje to się postaram ją jakoś użyć.

mir

Stały bywalec
Posty: 617
Rejestracja: 01 kwie 2009, 15:23

C++ Pobieranie danych z internetu

Post22 lip 2010, 19:00

wszystko krok po kroku

Dostępne tylko dla zarejestrowanych użytkowników
z tej strony pobierz odpowiednią bibliotekę (czyli że pod Windows i pod Visual)
Rozpakuj np. na pulpit
w ustawieniach kompilatora dodajesz ścieżkę do plików nagłówkowych oraz do libow
teraz dodajesz linkerowi nazwy libow , które ma "zlinkkowac"

a tu kod źródłowy

Kod: Zaznacz cały

#include "stdafx.h"
#include <iostream>
#include <curl/curl.h>
#include <string>
using namespace std;

int main()

{


    CURL * curl;
    curl = curl_easy_init();
    curl_easy_setopt(curl,CURLOPT_URL, "adres_strony");
    string url;
    curl_easy_getinfo(curl,CURLINFO_RESPONSE_CODE, url.c_str()); //pobieramy kod zrodlowy
    curl_easy_perform(curl);
    curl_easy_cleanup(curl);
    cout << url << endl;

/*
    tu odpwiednio parsujesz( przetwarzasz) kod strony, tak abys wyciagnal to co Cie interesuje
*/

}

jak coś nie wiesz jak to pisz

-- 22 lip 2010, 17:32 ---

teraz opiszę jeszcze raz wszystko dokładnie, ponieważ otrzymałem PW, że są problemy z zastosowaniem mojej poprzedniej wiadomości,
jesli robisz to pod visualem to pobierasz tę paczkę Dostępne tylko dla zarejestrowanych użytkowników
następnie rozpakuj np. na pulpit - tak aby wnętrze archiwum było w jednym folderze.
włącz visuala i stwórz projekt(console aplication)
teraz wskazujesz folder z plikami nagłówkowymi
po lewej stronie masz projekty - klikasz PPM na nazwe projektu, z którym obecnie pracujesz i Properties
następnie patrzysz na lewą stronę i wybierasz sekcję C/C++
u samej góry masz: Additional include directories - tam jest strzałka klikasz - potem Edit
dodajesz ścieżkę, tak aby konczyla sie na \include (include jest w tym folderze do ktorego wpakowales archiwum.
teraz pora na liby
znów properties - sekcja Linker - tam masz Additional Libraries directories - tutaj dajesz ścieżkę do katalogu z biblioteką, następnie dołączasz lib
sekcja linker, podsekcja Input - >additional Dependencies - dodajesz do niej: libcurl.lib
to wszystko

Michaell65

Użytkownik
Posty: 1
Rejestracja: 19 mar 2011, 15:57

C++ Pobieranie danych z internetu

Post19 mar 2011, 16:39

witam,

stosowałem się do Twoich wskazówek jak zainstalować to wszystko tylko, że po kompilacji w visual wywala mi error "Error error LNK1104: cannot open file 'libcurl.lib'", nie wiem co zrobić bo zrobiłem wszystko identycznie jak w opisie.

Mam windows 7 visial studio 2010

plik sciagałem z : Dostępne tylko dla zarejestrowanych użytkowników

Proszę o pomoc
Ostatnio zmieniony 26 cze 2011, 22:28 przez greh, łącznie zmieniany 1 raz.
Powód: Usunięcie podwójnego wpisu tej samej treści

vinox

Użytkownik
Posty: 1
Rejestracja: 11 kwie 2011, 22:00

C++ Pobieranie danych z internetu

Post01 maja 2011, 15:27

Sorki ze odświeżam ale?

/*
tu odpwiednio parsujesz( przetwarzasz) kod strony, tak abys wyciagnal to co Cie interesuje
*/

to co tu wpisać?
skoro na stronie jest np cyfra 1.

radical_edo

Użytkownik
Posty: 2
Rejestracja: 26 cze 2011, 18:20

C++ Pobieranie danych z internetu

Post26 cze 2011, 18:29

Witam,

właśnie męczę się z cURL'em.... tylko mój problem nie polega na zlinkowaniu biblioteki...

Odnosząc się do wcześniej napisanego kodu

Kod: Zaznacz cały

#include "stdafx.h"
#include <iostream>
#include <curl/curl.h>
#include <string>
using namespace std;

int main()
{
    CURL * curl;
    curl = curl_easy_init();
    curl_easy_setopt(curl,CURLOPT_URL, "adres_strony");
    string url;
    curl_easy_getinfo(curl,CURLINFO_RESPONSE_CODE, url.c_str()); //pobieramy kod zrodlowy
    curl_easy_perform(curl);
    curl_easy_cleanup(curl);
    cout << url << endl;

/*
    tu odpwiednio parsujesz( przetwarzasz) kod strony, tak abys wyciagnal to co Cie interesuje
*/

}

Mój kod wygląda w zasadzie tak samo...:

Kod: Zaznacz cały

int main()
{
   CURL *curl;
   CURLcode res;
   string str;

   curl = curl_easy_init();
   if(curl)
   {
      curl_easy_setopt(curl, CURLOPT_URL, "http://www.cnn.com/");
      res = curl_easy_getinfo(curl, CURLINFO_RESPONSE_CODE, str.c_str());
      if(res == CURLE_OK)
      {
         cout << "pobrano dane\n\n";
         cout << str;
         cout <<"\n\n";
         system("pause");
         system("cls");
      }
      res = curl_easy_perform(curl);
      curl_easy_cleanup(curl);
   }

   cout <<"\n\n";
   system("pause");
   system("cls");

   string s ("html");
   size_t found;
   found = str.find(s);

   cout << "znalezione: " << int(found) << endl;

   system("pause");
   return 0;
}

Mimo to zmienna 'str' jest pusta.... :( i oczywiście nie jest w stanie nic znaleźć.

Jakieś sugestie?

Awatar użytkownika
cosik_ktosik

Administrator
Posty: 21399
Rejestracja: 13 lis 2008, 01:17
Lokalizacja: Szczecin
Kontaktowanie:

C++ Pobieranie danych z internetu

Post27 cze 2011, 09:33

Witam, a wchodzi do tego IFa gdzie wypisujesz wynik?
Hotfix
Pozdrawiam, cosik_ktosik :)

radical_edo

Użytkownik
Posty: 2
Rejestracja: 26 cze 2011, 18:20

C++ Pobieranie danych z internetu

Post27 cze 2011, 09:48

no właśnie wchodzi, co mnie dziwi....

Awatar użytkownika
cosik_ktosik

Administrator
Posty: 21399
Rejestracja: 13 lis 2008, 01:17
Lokalizacja: Szczecin
Kontaktowanie:

C++ Pobieranie danych z internetu

Post02 lip 2011, 00:16

hmm, a zobacz na przykładzie innej strony.
Hotfix
Pozdrawiam, cosik_ktosik :)

alojzy

Użytkownik
Posty: 1
Rejestracja: 01 sie 2011, 10:37

C++ Pobieranie danych z internetu

Post03 sie 2011, 22:43

Proszę o Was pomoc.

Po ustawieniu MFC static library aby do exeka załączony zostały wszystkie wymagane biblioteki i skompilowaniu i uruchomieniu otrzymuję informację żę nie z naleziono biblioteki libcurl.dll i należy ponownie zainstalować aplikację, program się nie uruchamia. Muszę umieścić przy exeku wymaganą bibliotekę oraz zlib1.dll po drugim monicie a chciałbym aby były one skompilowane z exekiem.

Jestem pewien że poprawnie zlinkowałem biblioteki i foldery.

Z góry wielkie dzięki.



  • Reklama

Wróć do „Webmastering i programowanie”



Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 1 gość