post-запрос

Регистрация
13.04.2016
Сообщения
650
Благодарностей
52
Баллы
28
Приветствую уважаемые знатоки!
Подскажите пожалуйста как правильно сделать post-запрос на https://www.youtube.com/, вбить в поисковую строку текст: "итальянская мебель" и получить первый же ролик из списка в переменную.
Как не пытался делать - не выходит.
Спасибо за отклик!
 

Nord

Client
Регистрация
22.03.2012
Сообщения
2 373
Благодарностей
1 432
Баллы
113
Если GET устраивает -


Выделенный текст - айдишник ролика, как спарсить - думаю догадаетесь
 
  • Спасибо
Реакции: Анатолий

doc

Client
Регистрация
30.03.2012
Сообщения
8 606
Благодарностей
4 597
Баллы
113
Вот мне чисто интересно, как именно ты "только не пытался", если выше предоставили самый простейший и ожидаемый рабочий вариант?
 
  • Спасибо
Реакции: Sanekk и samsonnn

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
19 457
Благодарностей
8 680
Баллы
113
Вот мне чисто интересно, как именно ты "только не пытался", если выше предоставили самый простейший и ожидаемый рабочий вариант?
если версия 5.9.9.1 то как не пытайся - не получилось бы.. :-)
ну конечно если не знать пути обхода этого глюка (приходит пустой ответ от ютуба)..
а если новая версия, то да - странно..
видимо именно пост-запрос рассматривался, не гет..
 
  • Спасибо
Реакции: doc

doc

Client
Регистрация
30.03.2012
Сообщения
8 606
Благодарностей
4 597
Баллы
113
если версия 5.9.9.1 то как не пытайся - не получилось бы.. :-)
ну конечно если не знать пути обхода этого глюка (приходит пустой ответ от ютуба)..
а если новая версия, то да - странно..
видимо именно пост-запрос рассматривался, не гет..
о каких путях обхода речь?
 

Nord

Client
Регистрация
22.03.2012
Сообщения
2 373
Благодарностей
1 432
Баллы
113
Ну постом точно так же, возвращает такой же результ. Если ничего дополнительного не указывать, то оно вернет, то что и спрашивали


 

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
19 457
Благодарностей
8 680
Баллы
113
  • Спасибо
Реакции: Sanekk, Dimionix и doc

Dimionix

Moderator
Регистрация
09.04.2011
Сообщения
3 068
Благодарностей
3 100
Баллы
113
о каких путях обхода речь?
Или так
C#:
string userAgent = "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:50.0) Gecko/20100101 Firefox/50.0";
string query = "\"итальянская мебель\"";
string url = "https://www.youtube.com/results?q=" + query + "&sp=EgIQAQ==";

// GET запрос
HttpWebRequest request = (HttpWebRequest) WebRequest.Create(url);
request.Method = "GET";
request.UserAgent = userAgent;
HttpWebResponse response = (HttpWebResponse) request.GetResponse();
StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.UTF8);
string resultGet = reader.ReadToEnd();
response.Close();
reader.Close();

// Парсим id первого ролика
Match match = Regex.Match(resultGet, "(?<=data-context-item-id=\").*?(?=\")");
if (!match.Success) return null;
return match.Value;
 

Sanekk

Client
Регистрация
24.06.2016
Сообщения
988
Благодарностей
388
Баллы
63
если версия 5.9.9.1 то как не пытайся - не получилось бы.. :-)
ну конечно если не знать пути обхода этого глюка (приходит пустой ответ от ютуба)..
а если новая версия, то да - странно..
видимо именно пост-запрос рассматривался, не гет..
о чем речь,поделитесь пожалуйста)
upd: долго не обновлял страницу...сорру за оффтоп
 
Регистрация
13.04.2016
Сообщения
650
Благодарностей
52
Баллы
28
Вот мне чисто интересно, как именно ты "только не пытался", если выше предоставили самый простейший и ожидаемый рабочий вариант?
Приветствую! я не силён в зенке, в любом варианте переменная с роликом пустая...
 
Регистрация
13.04.2016
Сообщения
650
Благодарностей
52
Баллы
28
Спасибо за помощь ребята! только домой приехал, сейчас буду тренероваться ...
 
Регистрация
13.04.2016
Сообщения
650
Благодарностей
52
Баллы
28
Или так
C#:
string userAgent = "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:50.0) Gecko/20100101 Firefox/50.0";
string query = "\"итальянская мебель\"";
string url = "https://www.youtube.com/results?q=" + query + "&sp=EgIQAQ==";

// GET запрос
HttpWebRequest request = (HttpWebRequest) WebRequest.Create(url);
request.Method = "GET";
request.UserAgent = userAgent;
HttpWebResponse response = (HttpWebResponse) request.GetResponse();
StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.UTF8);
string resultGet = reader.ReadToEnd();
response.Close();
reader.Close();

// Парсим id первого ролика
Match match = Regex.Match(resultGet, "(?<=data-context-item-id=\").*?(?=\")");
if (!match.Success) return null;
return match.Value;
 

Вложения

Sanekk

Client
Регистрация
24.06.2016
Сообщения
988
Благодарностей
388
Баллы
63
using.png
gac.png
 
Регистрация
13.04.2016
Сообщения
650
Благодарностей
52
Баллы
28
Регистрация
13.04.2016
Сообщения
650
Благодарностей
52
Баллы
28
string query = "\"итальянская мебель\"";
как правильно воткнуть сюда свою переменную чтобы работало, ставлю вместо "итальянская мебель" {-Variable.video-} - ошибка
 

Sanekk

Client
Регистрация
24.06.2016
Сообщения
988
Благодарностей
388
Баллы
63
string query = "\"итальянская мебель\"";
как правильно воткнуть сюда свою переменную чтобы работало, ставлю вместо "итальянская мебель" {-Variable.video-} - ошибка
если переменная из проекта ,то
string query = project.Variables["твоя переменная"].Value;
zennowiki читай побольше там много полезного,и поищи видео от ростоникса, такие вопросы сами собой отпадать начнут
 
  • Спасибо
Реакции: Анатолий
Регистрация
13.04.2016
Сообщения
650
Благодарностей
52
Баллы
28
да уж, код - это тёмный лес, сделал настройки по вашим спойлерам, теперь код работает, но ни один кубик проекта теперь работать не хочет-сразу ошибки, шею можно свернуть в этих дебрях.
 

Sanekk

Client
Регистрация
24.06.2016
Сообщения
988
Благодарностей
388
Баллы
63
да уж, код - это тёмный лес, сделал настройки по вашим спойлерам, теперь код работает, но ни один кубик проекта теперь работать не хочет-сразу ошибки, шею можно свернуть в этих дебрях.
фото из лога выложи,после настроек из using ни каких ошибок в кубиках быть не должно
 
Регистрация
13.04.2016
Сообщения
650
Благодарностей
52
Баллы
28
если переменная из проекта ,то
string query = project.Variables["твоя переменная"].Value;
zennowiki читай побольше там много полезного,и поищи видео от ростоникса, такие вопросы сами собой отпадать начнут
http://joxi.ru/gmv3X5FLv8pV2a
так тоже не работает, ладно, чёрт с ним, уберу код, это для самых умных.
 

Sanekk

Client
Регистрация
24.06.2016
Сообщения
988
Благодарностей
388
Баллы
63
Регистрация
13.04.2016
Сообщения
650
Благодарностей
52
Баллы
28
выложи код у тебя ошибки где-то в символах
ps я пробовал код dimonixa все работает отлично
тот же код, только полностью заменил строку с переменной на вашу: string query = project.Variables["тут код моей переменной"].Value;

я уже удалил все настройки и код, забейте.
 

Sanekk

Client
Регистрация
24.06.2016
Сообщения
988
Благодарностей
388
Баллы
63
тот же код, только полностью заменил строку с переменной на вашу: string query = project.Variables["тут код моей переменной"].Value;

я уже удалил все настройки и код, забейте.
как это забить,а результат)
вод код работает с переменной из проекта,создай переменную test1 и положи туда нужное значение,например итальянская мебель
Код:
string userAgent = "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:50.0) Gecko/20100101 Firefox/50.0";
string query = project.Variables["test1"].Value;//в переменной test1 лежит значение итальянская мебель
string url = "https://www.youtube.com/results?q=" + query + "&sp=EgIQAQ==";
// GET запрос
HttpWebRequest request = (HttpWebRequest) WebRequest.Create(url);
request.Method = "GET";
request.UserAgent = userAgent;
HttpWebResponse response = (HttpWebResponse) request.GetResponse();
StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.UTF8);
string resultGet = reader.ReadToEnd();
response.Close();
reader.Close();
// Парсим id первого ролика
Match match = Regex.Match(resultGet, "(?<=data-context-item-id=\").*?(?=\")");
if (!match.Success) return null;
return match.Value;
 

Folt

Client
Регистрация
16.12.2016
Сообщения
71
Благодарностей
11
Баллы
8
Переделал код пот текущие реалии, но почему то у меня не работает. Библиотеку подключил:
C#:
string userAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.159 YaBrowser/21.8.2.381 Yowser/2.5 Safari/537.36";
string query = project.Variables["test1"].Value;//в переменной test1 лежит значение итальянская мебель
string url = "https://www.youtube.com/results?search_query=" + query + "&sp=EgIQAQ==";
// GET запрос
HttpWebRequest request = (HttpWebRequest) WebRequest.Create(url);
request.Method = "GET";
request.UserAgent = userAgent;
HttpWebResponse response = (HttpWebResponse) request.GetResponse();
StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.UTF8);
string resultGet = reader.ReadToEnd();
response.Close();
reader.Close();
// Парсим id первого ролика
Match match = Regex.Match(resultGet, "(?<=video_id=).*(?=&)");
if (!match.Success) return null;
return match.Value;
Выдает ошибку:
Выполнение действия CSharp OwnCode. Ссылка на объект не указывает на экземпляр объекта.
 

dobrohod

Client
Регистрация
15.10.2018
Сообщения
43
Благодарностей
5
Баллы
8

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