Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > .NET для новичков > Парсинг исходника страницы |
Автор: W1zArD 5.2.2009, 08:52 |
Добрый день. Возникла проблема. По адресу: "http://www.google.ru/ie?q=test&num=100" необходимо получить все ссылки. У меня встал вопрос, что быстрее webBrowser.Links или Regex. выбрал regex. собственно паттерн - @"href\s*=\s*(?:""(?<1>[^""]*)""|(?<1>\S+))" примерный вариант того как он ищет: http://www.russian.language.ru/test.htm>Study http://www.test.etoast.ru/>Психологические http://www.test.com/><em>Test</em>.com http://tests.kulichki.com/>Тесты. http://www.lidenz.ru/online-test/>Free http://grudina.info/newyear/test.php>Новогодний http://www.rg.ru/test>Тест http://test.allbest.ru/>Тесты http://www.socionika.info/test.html>Тест http://test.bio-met.ru/>Психологический http://aeterna.ru/test.php>Тесты исходный вариант: ... href=http://www.regular-expressions.info/> вобщем как мне выбрать все что до символа ">", т.е. в этом вся и загвоздка, найду все что до ">" и все... рабочий вариант, но грузит cpu на 100% - new Regex(@"(?<=<(\S|\s)*)((?<=(href=('|"")+))|(?<=(href=))[^('|"")])([^'>""\s)]*)(?=('|""|[\S])?)", RegexOptions.IgnoreCase | RegexOptions.Compiled); |
Автор: Bogdan1024 5.2.2009, 13:18 |
Засеки время выполнения ;) А XmlReader'ом пробовал работать? Мне кажется что так будет быстрее всего. |
Автор: W1zArD 5.2.2009, 14:23 |
мб, посоветуете самый оптимальный вариант? а как тут XmlReaderom пробегаться? можно пример или хотя бы в 2-х словах объяснить спасибо ![]() |
Автор: diadiavova 5.2.2009, 14:45 |
Попробуй воспользоваться http://code.msdn.microsoft.com/SgmlReader штучкой. |