Регулярка

Sherminator

Client
Регистрация
10.09.2021
Сообщения
1 240
Благодарностей
673
Баллы
113
Добрый вечер, пытаюсь не большой код написать на с# для парсинга тегов с видоса на ютуб канале

Вот собственно сам код

C#:
 HttpRequest request = new HttpRequest();

            HttpResponse response = request.Get("https://www.youtube.com/watch?v=D4MrBiZccNk");

            HtmlDocument doc = new HtmlDocument();
            doc.LoadHtml(Convert.ToString(response));

            var reg = "(?<=\"keywords\"\\ content=\").*? (?= \"><link\\ rel=\")";

            string link = new Regex(reg).Match(Convert.ToString(response)).Value;
          
            List<string> data = new List<string>();

            data.Add(link);


            File.WriteAllLines("Links.txt", data, Encoding.UTF8);
Регулярку я сделал в зенопостере.


Кавычки и слеши вроде экранировал правильно, тем не менее переменная в которую должны помещаться ключи пустая, подскажите пожалуйста в чем проблема ? с синтаксисом косячу или с регуляркой?

87343
 

djaga

Administrator
Команда форума
Регистрация
26.04.2020
Сообщения
546
Благодарностей
1 125
Баллы
93
Верная регулярка (?<=<meta name=\""keywords\"" content=\"").+?(?=\""><link rel=\""shortlinkUrl\"")
или (?<=<meta name=\\\"keywords\\\" content=\\\").+?(?=\\\"><link rel=\\\"shortlinkUrl\\\") в зависимости используется интерполяция или нет.

Ответ:
87357


Получить от GET запроса первый найденный элемент:
string answer = Regex.Matches(get, @"(?<=<meta name=\""keywords\"" content=\"").+?(?=\""><link rel=\""shortlinkUrl\"")")[0].Value; // без проверки на null
*На всякий случай: В переменный "get" весь ответ "200 OK". Если вы сначала не смогли получить верный ответ, то копайте сначала в эту сторону.)
 
  • Спасибо
Реакции: Sherminator

valerijelf73

Новичок
Регистрация
02.01.2022
Сообщения
1
Благодарностей
0
Баллы
1
А как вы это делаете вообще? расскажите плиз заинтересовало
 

Sherminator

Client
Регистрация
10.09.2021
Сообщения
1 240
Благодарностей
673
Баллы
113

djaga

Administrator
Команда форума
Регистрация
26.04.2020
Сообщения
546
Благодарностей
1 125
Баллы
93
А как вы это делаете вообще? расскажите плиз заинтересовало
и https://help.zennolab.com/en/v7/zennoposter/7.1.4/webframe.html#topic1823.html


@valerijelf73, если хотите, можете написать мне в личку, отвечу на вопросы касательно программы.)
Чтобы у вас появилась возможность писать в личные сообщения, нужно получить статус "Client":
1. Нужно купить программу от ZennoLab на главной странице или по реферальной ссылке[тык], а после сделать пункт 2 ↓.
*Если купите по реферальной ссылке то вы получите от меня поддержку. Ха-ха, хотя я в любом случае отвечу на вопросы.)

2. Если вы уже купили программу, то напишите письмо по адресу [email protected] с почты на которую вы зарегистрировали аккаунт ZennoPoster с указанием своего ника на форуме.
 
  • Спасибо
Реакции: papa-rico и loka23

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)