[+] c++ - parsowanie kodu html
: 28 stycznia 2010, 23:43
Witam.
Mam taki problem z którym walczę już jakiś czas. Otóż mój program ma pobierać źródło danej strony www, co robi prawidłowo, i wyciągać z niej jedną wartość, czego już nie robi.
Sprawa wygląda tak:
Próbuję mniej więcej tak:
Najlepiej właśnie, jakbym to zrobił na sscanf. Ma ktoś jakiś pomysł?
Dziękuję z góry.
[Dodano: |29 Sty 2010|, 2010 01:49]
Problem rozwiązany.
Część kodu:
Jak widać wszystko podzieliłem ładnie na linijki i pętelka szuka, aż natknie się na zadany przeze mnie ciąg znaków.
Mam taki problem z którym walczę już jakiś czas. Otóż mój program ma pobierać źródło danej strony www, co robi prawidłowo, i wyciągać z niej jedną wartość, czego już nie robi.
Sprawa wygląda tak:
Kod: Zaznacz cały
<meta name="title" content="[to chcę parsować]">
Kod: Zaznacz cały
sscanf(buffor, "<meta name=\"title\" content=\"%[^\"]\"", title);
Dziękuję z góry.
[Dodano: |29 Sty 2010|, 2010 01:49]
Problem rozwiązany.
Część kodu:
Kod: Zaznacz cały
char *pch;
pch = strtok(buffor, "\n");
while(pch != NULL)
{
if((string(pch).find("<meta name=\"title\"")) != string::npos)
{
sscanf(pch, "%*[^<]<meta name=\"title\" content=\"%[^\"]\"", title);
printf("%s\n", title);
break;
}
pch = strtok(NULL, "\n");
}