привет вот мож почитать там это используется, ещё можно про регулярные выражения почитать тут на сайте недавно пробегала статья W[4Fh]LF'а
Алгоритмы есть: запуск любимого браузера->набор в строке адреса "google.ru"->введение запроса поиска->отбор нужного
все-таки написал сам. правда сыроват чуть, но для начала сойдет. Кому интересно: Код (Text): #include "stdafx.h" #include <windows.h> char buff[0xffff * 16]; int main(int argc, char* argv[]) { char buff2[1024]; int b_sk; int l_t; int b_h; int b_e; int b_s; long i; long hb; long hbe; long j; long writ; long k; HANDLE hfile; memset(buff, 0, sizeof(buff)); hfile = CreateFile("c:/b.html", GENERIC_READ, 0, 0, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0); ReadFile(hfile, (char*)buff, sizeof(buff), (LPDWORD)&writ, 0); CloseHandle(hfile); l_t = 0; b_sk = 0; b_h = 0; b_e = 0; b_s = 0; k = strlen(buff); for(i=0;i < k;i++){ if(l_t && buff[i] == '"'){ if(b_sk && b_h)hbe = i; if(!b_sk && (buff[i-1]!= ' ' || buff[i-1]!= '\10' || buff[i-1]!= '\13' ))b_sk =1; b_sk = 1 - b_sk; continue; } if(buff[i] == '>' && !b_sk){ if(b_h){ b_h = 0; b_e = 0; memset(buff2, 0, sizeof(buff2)); if(b_s){j = i - hb;}else{j = hbe - hb;} strncpy(buff2, (char*)buff + hb, j); printf("%s\n", buff2); } l_t=0; continue; } if(b_e && !b_sk){ if(buff[i] == ' '){if(b_s){hbe = i;b_s=0;}}else{b_s = 1;} continue; } if(buff[i] == '<' && !b_sk){l_t=1; continue;} if(buff[i] == '=' && !b_e && l_t && !b_sk && b_h){;hb = i;b_e=1;continue;}; if(!b_h && l_t && !b_sk && (buff[i-1]==' ' || buff[i-1]=='"' || buff[i-1]==10 || buff[i-1]==13) && ((buff[i] == 'H' || buff[i] == 'h') && (buff[i + 1] == 'R' || buff[i+1] == 'r') && (buff[i+2] == 'E' || buff[i+2] == 'e') && (buff[i] == 'F' || buff[i+3] == 'f') && (buff[i+4] == ' ' || buff[i + 4] == '=' )) ){;i=i+3;b_h=1;continue;} } return 0; }
кстати, ты случаем не спам бота мастыришь по сборке урлосов))??? мне лично спамеры оскомину большую набили тысячу адресов, а то и более засунул в фильтр, а с ними усе сладу никакого. вот так и задаешься весьма риторическим вопросом: "когда сему безобразию конец придёт"))
есть куча опен сорсных бравзеров, хтмл редакторов - глянь на их код: тебе скорей всего и выдумывать ничего не придёться.
2UbIvItS, спасибо за совет... я уже все сам написал... з.ы. чуть исправленная версия алгоритма который я выложил выше: Код (Text): #include <windows.h> char buff[0xffff * 160]; int main(int argc, char* argv[]) { char buff2[1024]; int b_sk; int b_s2; int l_t; int b_h; int b_e; int b_s; long i; long hb; long hbe; long j; long writ; long k; HANDLE hfile; memset(buff, 0, sizeof(buff)); hfile = CreateFile("c:/a.html", GENERIC_READ, 0, 0, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0); ReadFile(hfile, (char*)buff, sizeof(buff), (LPDWORD)&writ, 0); CloseHandle(hfile); writ = 0; l_t = 0; b_sk = 0; b_h = 0; b_e = 0; b_s = 0; k = strlen(buff); hbe = 0; b_s2 = 0; hb = 0; for(i=0;i < k;i++){ if(l_t && buff[i] == '"'){ if(b_sk && !hbe && b_e){hbe = i;} if(!b_sk && b_e && !hb){hb = i +1; } if(!b_sk && (buff[i-1]!='=' && buff[i-1]!= ' ' && buff[i-1]!= 10 && buff[i-1]!= 13 ))b_sk =1; b_sk = 1 - b_sk; continue; } if(buff[i] == '>' && !b_sk){ if(b_h){ memset(buff2, 0, sizeof(buff2)); if(b_s){j = i - hb;}else{j = hbe - hb;} strncpy(buff2, (char*)buff + hb, j); printf("<%s>\n", buff2); hbe = 0; hb = 0; b_s = 0; b_s2 = 0; b_h = 0; b_e = 0; writ++; } l_t=0; continue; } if(b_e && !b_sk){ if(buff[i] == ' ' && b_s && !hbe){hbe = i; b_s=0; continue;} if(buff[i]!= ' ' && buff[i]!= '"' && !b_s && !hb){b_s = 1; hb = i;continue;} } if(buff[i] == '<' && !b_sk){l_t=1; continue;} if(buff[i] == '=' && !b_e && l_t && !b_sk && b_h){b_e=1;continue;}; if(!b_h && l_t && !b_sk && (buff[i-1]==' ' || buff[i-1]=='"' || buff[i-1]==10 || buff[i-1]==13) && ((buff[i] == 'H' || buff[i] == 'h') && (buff[i + 1] == 'R' || buff[i+1] == 'r') && (buff[i+2] == 'E' || buff[i+2] == 'e') && (buff[i] == 'F' || buff[i+3] == 'f') && (buff[i+4] == ' ' || buff[i + 4] == '=' )) ){;i=i+3;b_h=1;continue;} } printf("\n%d\n", writ); return 0; }
молодец, что настрокал вот тебе кульный сайт с сырцами (http://www.codeproject.com)- мож пригодиться тебе. --------------------------------------------------------------------------------------------------------- кстати, вопрос не по теме у кого нить аська пашет(???) - мой qip не фига к сервачу не коннектиться и на сайт их выйти не могу. ----------------------------------------------------------------------------------------------------------
-*- LinkGrabber 1.2 * Copyright (c) Aleph 2004 -*- Just to grab WEB links from some sources Эташ так и не прицепился.