Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 21.09.2021, 01:14   #1
Jon Travolta
 
Регистрация: 05.09.2021
Сообщений: 6
Вопрос мне нужно на странице сайта получить текст из span class

Доброго времени суток.
Прошу сильно не ругать.
Написал некоторый код на Javascript
Все работает, но только в браузере.
Теперь хочу аналог написать, что бы в консоле работал, без браузера. Программа простая.
C# только начал учить и начал конечно на практике (так быстрее)
Но вот понять не могу 1 лишь момент.

мне нужно на странице сайта получить текст из span class
на Javascript это выглядит так:
Код:
let D = document.getElementsByClassName("_6rpkQ5LAjOR5gzl2sMUQD")[0].textContent;
вырезка страницы вот:

Код:
<div class="gmroulette__row gmroulette__row--red"><span>23</span></div>
<div class="gmroulette__row gmroulette__row--green"><span>37</span></div>
Мне нужно вытащить числа 23 и 37
Далее все просто. Только не умею я не c# это сделать.
И даже мои запросы не помогают.
Хотя когда учил javascript по запросам находил.... может для c# меньше информации или меньше обсуждается. ...

Помогите пожалуйста
Думаю тут так же 1-2 строки и решение найдется, для опытного или ссылку где поискать....
Jon Travolta вне форума Ответить с цитированием
Старый 21.09.2021, 08:15   #2
WorldMaster
Старожил
 
Аватар для WorldMaster
 
Регистрация: 25.08.2011
Сообщений: 2,841
По умолчанию

Ну совсем в лоб:

Код:
Regex.Match(text,@"<div(.+?)gmroulette(.+)\>(\d+)\<").Groups[3].Value
Skype - wmaster_s E-Mail - WorldMasters@gmail.com
Работаем по 3 критериям - быстро, качественно, недорого. Заказчик выбирает любые два.
WorldMaster вне форума Ответить с цитированием
Старый 21.09.2021, 15:32   #3
Jon Travolta
 
Регистрация: 05.09.2021
Сообщений: 6
По умолчанию

WorldMaster, Спасибо большое за подсказку...
Вышла другая сложность.
При просмотре HTML страницы данного элемента нет. (Искомого)
Так как он подгружается из js

Мой javascript работает в браузере, на уже загруженной странице, т.е. когда все вложенные элементы выполняются.
А здесь получается я подгружаю только скелет....
И в нем нет искомого элемента. Соответственно в ответе приходит пустая строка.

Может быть вы можете мне помочь.
Напишите мне на telegram (не за спасибо конечно)
мой ник @Robo_Binary
вот прямая ссылка https://t.me/Robo_Binary
Jon Travolta вне форума Ответить с цитированием
Старый 21.09.2021, 15:46   #4
ForenLi
Форумчанин
 
Регистрация: 02.06.2021
Сообщений: 515
По умолчанию

Берите selenium или любой другой и вперед.
ForenLi вне форума Ответить с цитированием
Старый 21.09.2021, 21:09   #5
Jon Travolta
 
Регистрация: 05.09.2021
Сообщений: 6
По умолчанию

ForenLi, Да я так и понял, что нужно использовать что-то подобное. Т.е. не просто получить код страницы, а именно его загрузить, выполнить и потом уже обработать результаты.

Не могли бы Вы дать какие-то подсказки, кусочки кода, ссылки. Что бы я смог более направленно осуществлять поиск.
Так как очень много информации в интернете довольно старо и по факту некоторые методы просто не применяются.
Да и программы поменялись. Поэтому когда находишь мануал, и сравниваешь с тем, что используется сейчас многое не сходится.
что-то как я понимаю вообще уже стало проще и входит куда-то в комплекты...

может быть вы сможете просто строками дать ответ
1. Делаем это
2. Делаем это
3. Делаем это

Так как я могу из-за своей неопятности искать шаги, которые ненужны или не искать то, что как раз очень нужно.


Заранее весьма благодарен!
Jon Travolta вне форума Ответить с цитированием
Старый 22.09.2021, 08:09   #6
WorldMaster
Старожил
 
Аватар для WorldMaster
 
Регистрация: 25.08.2011
Сообщений: 2,841
По умолчанию

Вместо селениума я например пользую CefSharp/

В студии через консоль Nuget можно поставить. Только с ходу наверное будет сложно понять что там и как прикручивать.


Если совсем в лоб то:

Код:
WebBrowser1.FrameLoadEnd += Browser_FrameLoadEnd;
WebBrowser1.Load("УРЛ");

далее в обработчике проверяете код:

Код:
async private void Browser_FrameLoadEnd(object sender, FrameLoadEndEventArgs e)
{
// получаете контент страницы. код контента у вас будет свой.
var div = await WebBrowser1.GetMainFrame().EvaluateScriptAsync("document.getElementById(\"modSdpContent\").innerText");

а дальше парсите полученный текст и достаете все что вам нужно
}
Skype - wmaster_s E-Mail - WorldMasters@gmail.com
Работаем по 3 критериям - быстро, качественно, недорого. Заказчик выбирает любые два.
WorldMaster вне форума Ответить с цитированием
Старый 22.09.2021, 15:45   #7
Jon Travolta
 
Регистрация: 05.09.2021
Сообщений: 6
По умолчанию

WorldMaster, Спасибо большое. Да может сразу и сложно понять, но это уже начало!
Отправная точка.
Так что это уже хорошая помощь!
Благодарю Вас.
Jon Travolta вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Получить выбранный текст с сайта tagaz Общие вопросы Delphi 11 05.03.2015 21:59
Получить текст и ссылки с сайта reco1123 Общие вопросы Delphi 38 17.02.2015 21:10
Получить текст друго сайта Pekky Фриланс 21 15.09.2014 04:34
Нужно подключить и вывести базу данных MySql на странице сайта. Работаю на локальном OpenServer Дионис SQL, базы данных 2 25.04.2014 20:41
Мне надо сделать так что бы на главной странице картинка была по центру и под ней находился текст Чайник = ) HTML и CSS 1 21.10.2010 18:39