john1990_1 Ответов: 2

Как получить магнитные ссылки со страницы текста с помощью regex C#?


Мне нужно регулярное выражение, которое сканирует страницу на наличие магнитных ссылок и получает магнитные ссылки в коллекции совпадений...

Что я уже пробовал:

private void downloadPage(string pageLink)
        {
            string s = (new System.Net.WebClient()).DownloadString(pageLink);

            while (!string.IsNullOrWhiteSpace(s))
            {
                if (s.StartsWith(@"magnet:?xt=urn:btih:"))
                {
                    for (int d = 20; d < s.Length; d++)
                    {
                        if (s[d] == '"')
                        {
                            System.Diagnostics.Process.Start(s.Substring(0, d));
                            s = s.Substring(d);
                            break;
                        }
                    }
                }
                else
                {
                    s = s.Substring(1);
                }
            }
        }

2 Ответов

Рейтинг:
14

Graeme_Grant

Эта ссылка извлекает URL-адреса со страницы. Это не должно быть так сложно изменить его, чтобы сделать то, что вы хотите: Извлечение всех ссылок из HTML-страницы[^]


Graeme_Grant

Добро пожаловать. Быстрый поиск в Google нашел эту ссылку для вас: Как получить магнитные ссылки со страницы с помощью регулярного выражения[^]

john1990_1

Большое спасибо

Рейтинг:
0

john1990_1

void downloadPage(string pageLink)
        {
            foreach (Match m in new Regex("magnet:\\?xt=urn:btih:.*?\"").Matches((new System.Net.WebClient()).DownloadString(pageLink)))
            {
                System.Diagnostics.Process.Start(m.Value.Remove(m.Value.Length-1));
            }
        }