Форум программистов, компьютерный форум, киберфорум
Visual Basic .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.87/79: Рейтинг темы: голосов - 79, средняя оценка - 4.87
33 / 3 / 0
Регистрация: 19.10.2013
Сообщений: 53
.NET 4.x

Парсинг текста с сайта

05.01.2014, 21:30. Показов 15886. Ответов 47
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Привет!
Всех с праздниками!
Ребят, помогите разобраться с парсингом.
Суть вот в чем. Делаю запрос на сайт, получаю ответ и сохраняю его в TextBox.
Далее хотелось бы сперва спарсить что-то простое, к примеру информацию между тегами <title>.
Как это сделать?

Знаю, что многие сейчас налетят и скажут, мол пользуйся регулярками, поэтому сразу скажу, мне далеко еще до регулярок и я до них еще не дорос

И еще такой вопрос, правильно ли я делаю, что сохраняю результат в TextBox? Может, если сохранить во что-то другое, то работать будет легче?

Буду рад любым советам и примерам.
Спасибо!
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
05.01.2014, 21:30
Ответы с готовыми решениями:

Парсинг текста с сайта
Здравствуйте, подскажите пожалуйста как парсить текст с сайта на XAML. Мне с сайта просто слово надо которое обновляется постоянно... ...

Парсинг текста с сайта
Как получить текст на основе xNet c сайта между тегами. Без использования webBrowser1 Я читал тему на этом сайте, но она для...

Парсинг текста с запрещенного сайта через прокси
Здравствуйте, мне нужно спарсить текст с сайта на который зайти можно только через TOR browser или анонимайзер. Как реализовать? ...

47
33 / 3 / 0
Регистрация: 19.10.2013
Сообщений: 53
30.03.2014, 14:36  [ТС]
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от Qwertiy Посмотреть сообщение
Бесполезное решение, на мой взгляд. Если только кто-то при парсинге готовый uri не даёт.
Ну почему же бесполезное? Данное решение решает поставленную задачу, а это главное.
Спасибо за пояснение. Только я все равно нифига не понял. Вернее, как режется слева ясно, а вот как обрезается справа я так и не понял.
0
835 / 643 / 101
Регистрация: 20.08.2013
Сообщений: 2,524
30.03.2014, 23:03
Цитата Сообщение от dimOk7 Посмотреть сообщение
Ну почему же бесполезное? ... а вот как обрезается справа я так и не понял.
Это решение позволяет встроенными в .NET средствами получить query string из url. Но оно никаким образом не извлекает url из текста страницы. Если предположить, что некий html-парсер даёт объектную модель с url - то да, оно может быть применено (хотя, а зачем?), в случае же извлечения подстроки из текста оно бесполезно и предполагает двойную работу - сначала извлечь относитьльный url руками, потом составить из него абсолютный url и средствами .NET'а отделить query sting, после чего затримить вопросы слева. Именно поэтому я назвал его бесполезным.

Цитата Сообщение от dimOk7 Посмотреть сообщение
Данное решение решает поставленную задачу, а это главное.
И что же оно решает? Потому что в вопросе я не вижу задачи в том виде, в котором оно её могло бы решить.
0
 Аватар для Петррр
6721 / 3570 / 900
Регистрация: 28.10.2010
Сообщений: 5,937
30.03.2014, 23:58
Цитата Сообщение от dimOk7 Посмотреть сообщение
Как это сделать?
Bash
1
Install-Package SgmlReader
Перед сном дурости всякие в голову лезут.
C#
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
using Sgml;
using System;
using System.IO;
using System.Xml;
 
namespace Ghost
{
    class Program
    {
        static int GetId(string html)
        {
            using (SgmlReader reader = new SgmlReader())
            {
                reader.InputStream = new StringReader(html);
                XmlDocument document = new XmlDocument();
                document.Load(reader);
                string xpath = "number(substring(//img " +
                    "[ " +
                    "    starts-with(@src, '/items?') " +
                    "    and " +
                    "    string-length(translate(substring(@src, 8), '0123456789', '')) = 0 " +
                    "]/@src, 8))";
                object obj = document.CreateNavigator().Evaluate(xpath);
                return Convert.ToInt32(obj);
            }
        }
 
        static void Main(string[] args)
        {
            string html = "<div>class=\"web-image\"><img src=\"/items?1367932112\" /></div>";
            Console.WriteLine(GetId(html));
        }
    }
}

VB.NET
VB.NET
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
Imports Sgml
Imports System.IO
Imports System.Xml
Imports System.Xml.XPath
 
Module Module1
 
    Public Function GetId(ByVal html As String) As Integer
        Using reader As New SgmlReader()
            reader.InputStream = New StringReader(html)
            Dim document As New XmlDocument()
            document.Load(reader)
            Dim xpath As String = "number(substring(//img " &
                "[ " &
                "    starts-with(@src, '/items?') " &
                "    and " &
                "    string-length(translate(substring(@src, 8), '0123456789', '')) = 0 " &
                "]/@src, 8))"
            Dim obj As Object = document.CreateNavigator().Evaluate(xpath)
            Return Convert.ToInt32(obj)
        End Using
    End Function
 
    Sub Main()
        Dim html As String = "<div>class=""web-image""><img src=""/items?1367932112"" /></div>"
        Console.WriteLine(GetId(html))
    End Sub
 
End Module

Тут, чуть что так ошибка. Но доработать можно.
1
835 / 643 / 101
Регистрация: 20.08.2013
Сообщений: 2,524
31.03.2014, 01:55
Цитата Сообщение от Петррр Посмотреть сообщение
XmlDocument
Плохая идея парсить так html... Просто потому что он не обязан быть валидным xml'ем.
1
 Аватар для Петррр
6721 / 3570 / 900
Регистрация: 28.10.2010
Сообщений: 5,937
31.03.2014, 08:46
Qwertiy, в качестве XmlReader был взят SgmlReader наверное не просто так, как вы думаете?
1
835 / 643 / 101
Регистрация: 20.08.2013
Сообщений: 2,524
31.03.2014, 10:00
Цитата Сообщение от Петррр Посмотреть сообщение
в качестве XmlReader был взят SgmlReader наверное не просто так
Ой.. Не заметил...
0
0 / 0 / 0
Регистрация: 27.10.2024
Сообщений: 1
27.10.2024, 12:58
А что ищет пример с библиотекой?
я попробовал возвращает просто ноль
0
Администратор
Эксперт .NET
 Аватар для OwenGlendower
18417 / 14348 / 5371
Регистрация: 17.03.2014
Сообщений: 29,032
Записей в блоге: 1
27.10.2024, 13:34
Цитата Сообщение от Zhaidar Посмотреть сообщение
А что ищет пример с библиотекой?
То что просил автор темы - получает число из img.

Цитата Сообщение от Zhaidar Посмотреть сообщение
я попробовал возвращает просто ноль
Показывайте код и html.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
27.10.2024, 13:34

Парсинг русского текста с сайта. Неизвестные символы вместо кириллицы
С помощью WebRequest запрашиваю html код страницы, но вместо русских букв там крокозябры. Пробовал кодировать поток в utf8 (У сайта...

Парсинг данных с сайта или страницы сайта
Здравствуйте, добрые люди! Есть задача спарсить данные с страницы соц сети. Или просто со страницы с помощью js. На пхп не предлагать....

Парсинг сайта
Здравствуйте программисты :) Помогите пожалуйста с такой проблемкой: нужно вытащить IP адрес с сайта (http://www.myip.ru/) и занести в...

Парсинг сайта
Добрый день! Не могли бы помочь сделать Парсинг с сайта http://stroymat-rzn.org/stroitelnye-materialy-prajs-list.html Есть код , но он...

Парсинг сайта
Здравствуйте уважаемые программисты, у меня задача распарсить сайт http://lira.battlespace.ru/game.html, помогите а, куда копать? во первых...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
48
Ответ Создать тему
Новые блоги и статьи
Запустил конкурс "тем и промптов для текстовых квестов созданных почти чисто ИИ"
Adler 06.10.2026
Всем привет! За последние три-четыре дня я создал более 16 текстовых квестовых игр используя преимущественно по одному запросу к ИИ на игру. Мне так понравилось смотреть все ветки/ сцены во всех. . .
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык. Возвращает он вот это: https:/ / i. **********/ vqBWLe2. png Нужную строчку в 3й колонке просто выдумал. . Это. . .
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor. Это. . .
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru