Регистрация Главная Сообщество
Сообщения за день Справка Регистрация

C# обьясните как парсировать??

-

Вопросы и ответы, обсуждения

- Ваши вопросы по C/C++ только в данном разделе

Ответ
 
Опции темы
Старый 25.03.2011, 19:19   #1
 Разведчик
Аватар для Deep45
 
Deep45 на правильном пути
Регистрация: 30.01.2011
Сообщений: 11
Популярность: 52
Сказал(а) спасибо: 2
Поблагодарили 21 раз(а) в 14 сообщениях
 
По умолчанию C# обьясните как парсировать??

люди!
я уже пол гугла облазил!!!
мне нужно из переменной html вытащить данные
с
"hash: ' "
по
" ', cats:"

обьясните пожалуйста!!
а то, на этом встало всё движение =(
________________
ПОМОГ? ПОСТАВЬ "СПАСИБО"!
  Ответить с цитированием
Старый 06.04.2011, 21:32   #2
Читер-спонсор
 Рыцарь-защитник
Аватар для Hermein
 
Hermein сломал счётчик популярности :(Hermein сломал счётчик популярности :(Hermein сломал счётчик популярности :(Hermein сломал счётчик популярности :(Hermein сломал счётчик популярности :(Hermein сломал счётчик популярности :(Hermein сломал счётчик популярности :(Hermein сломал счётчик популярности :(Hermein сломал счётчик популярности :(Hermein сломал счётчик популярности :(Hermein сломал счётчик популярности :(
Регистрация: 14.01.2011
Сообщений: 633
Популярность: 28087
Золото Zhyk.Ru: 1
Сказал(а) спасибо: 90
Поблагодарили 717 раз(а) в 374 сообщениях
Отправить сообщение для Hermein с помощью ICQ Отправить сообщение для Hermein с помощью Skype™
 
По умолчанию Re: C# обьясните как парсировать??

Цитата:
Сообщение от Deep45Посмотреть сообщение
люди!
я уже пол гугла облазил!!!
мне нужно из переменной html вытащить данные
с
"hash: ' "
по
" ', cats:"

обьясните пожалуйста!!
а то, на этом встало всё движение =(

Смотри ты отправил Post/Get запрос, принял Responce в твоем случае это html-вид
далее делаем простое действие:

Код:
string[] s = html.Split();
        for (int i = 0; i < s.Length; i++)
        {int nachalo = s[i].IndexOf("hash:");
         int konets = s[i].IndexOf("cats:");
         string rezult = s[i].Substring(nachalo, konets);
         MessageBox.Show(rezult);
        }
Вот и все в принципе, подправь как тебе надо и все.
  Ответить с цитированием
Пользователь сказал cпасибо:
Deep45 (06.04.2011)
Старый 06.04.2011, 21:44   #3
 Разведчик
Аватар для Deep45
 
Deep45 на правильном пути
Регистрация: 30.01.2011
Сообщений: 11
Популярность: 52
Сказал(а) спасибо: 2
Поблагодарили 21 раз(а) в 14 сообщениях
 
По умолчанию Re: C# обьясните как парсировать??

не получается.
вот кусок кода
Код:
                CookieContainer cc = new CookieContainer();
                cc.Add(cook);
                HttpWebRequest post = (HttpWebRequest)WebRequest.Create("http://vkontakte.ru/al_friends.php?act=add_box&al=1&mid=113820235");
                post.UserAgent = "Opera/9.80";
                post.CookieContainer = cc;
                HttpWebResponse response = (HttpWebResponse)post.GetResponse();
                string html = new StreamReader(response.GetResponseStream(),
                               Encoding.UTF8).ReadToEnd();
                string[] s = html.Split();
                for (int i = 0; i < s.Length; i++)
                {
                    int nachalo = s[i].IndexOf("hash: '");
                    int konets = s[i].IndexOf("', cats");
                    string rezult = s[i].Substring(nachalo, konets);
                    MessageBox.Show(rezult);
                }
говорит что у переменной nachalo не может быть колличество меньше нуля. и прога виснит

Добавлено через 3 минуты
Код:
box.removeButtons().addButton('Отмена', box.hide, 'no');
cur.addFriend = function() {
  ajax.post('al_friends.php', {act: 'add', mid: 1, hash: '353aa443eb13266192', cats: ge('friend_add_cats').value, message: ge('add_msg_text').value}, {onDone: function(text) {
    box.content(text);
    box.removeButtons().addButton('Закрыть');
    setTimeout(function() {
вот то что в ответ приходит (это часть)
________________
ПОМОГ? ПОСТАВЬ "СПАСИБО"!

Последний раз редактировалось Deep45; 06.04.2011 в 21:48. Причина: Добавлено сообщение
  Ответить с цитированием
Старый 06.04.2011, 21:51   #4
Читер-спонсор
 Рыцарь-защитник
Аватар для Hermein
 
Hermein сломал счётчик популярности :(Hermein сломал счётчик популярности :(Hermein сломал счётчик популярности :(Hermein сломал счётчик популярности :(Hermein сломал счётчик популярности :(Hermein сломал счётчик популярности :(Hermein сломал счётчик популярности :(Hermein сломал счётчик популярности :(Hermein сломал счётчик популярности :(Hermein сломал счётчик популярности :(Hermein сломал счётчик популярности :(
Регистрация: 14.01.2011
Сообщений: 633
Популярность: 28087
Золото Zhyk.Ru: 1
Сказал(а) спасибо: 90
Поблагодарили 717 раз(а) в 374 сообщениях
Отправить сообщение для Hermein с помощью ICQ Отправить сообщение для Hermein с помощью Skype™
 
По умолчанию Re: C# обьясните как парсировать??

Цитата:
Сообщение от Deep45Посмотреть сообщение
не получается.
вот кусок кода
Код:
                CookieContainer cc = new CookieContainer();
                cc.Add(cook);
                HttpWebRequest post = (HttpWebRequest)WebRequest.Create("http://vkontakte.ru/al_friends.php?act=add_box&al=1&mid=113820235");
                post.UserAgent = "Opera/9.80";
                post.CookieContainer = cc;
                HttpWebResponse response = (HttpWebResponse)post.GetResponse();
                string html = new StreamReader(response.GetResponseStream(),
                               Encoding.UTF8).ReadToEnd();
                string[] s = html.Split();
                for (int i = 0; i < s.Length; i++)
                {
                    int nachalo = s[i].IndexOf("hash: '");
                    int konets = s[i].IndexOf("', cats");
                    string rezult = s[i].Substring(nachalo, konets);
                    MessageBox.Show(rezult);
                }
говорит что у переменной nachalo не может быть колличество меньше нуля. и прога виснит

Добавлено через 3 минуты
Код:
box.removeButtons().addButton('Отмена', box.hide, 'no');
cur.addFriend = function() {
  ajax.post('al_friends.php', {act: 'add', mid: 1, hash: '353aa443eb13266192', cats: ge('friend_add_cats').value, message: ge('add_msg_text').value}, {onDone: function(text) {
    box.content(text);
    box.removeButtons().addButton('Закрыть');
    setTimeout(function() {
вот то что в ответ приходит (это часть)

Все правильно так то, попробуй отдельно переменные выносить и найдешь ошибку понял где cats переменная конец оставь просто int konets = s[i].IndexOf("'cats");

Последний раз редактировалось Hermein; 06.04.2011 в 21:53.
  Ответить с цитированием
Старый 06.04.2011, 21:53   #5
 Разведчик
Аватар для Deep45
 
Deep45 на правильном пути
Регистрация: 30.01.2011
Сообщений: 11
Популярность: 52
Сказал(а) спасибо: 2
Поблагодарили 21 раз(а) в 14 сообщениях
 
По умолчанию Re: C# обьясните как парсировать??

Значение StartIndex не может быть меньше нуля.
Имя параметра: startIndex

Добавлено через 4 минуты
string rezult = s[i].Substring(nachalo, konets); у этой строки такая ошибка (при компилиров.)
Значение StartIndex не может быть меньше нуля.
Имя параметра: startIndex
________________
ПОМОГ? ПОСТАВЬ "СПАСИБО"!

Последний раз редактировалось Deep45; 06.04.2011 в 21:57. Причина: Добавлено сообщение
  Ответить с цитированием
Старый 06.04.2011, 22:13   #6
Читер-спонсор
 Рыцарь-защитник
Аватар для Hermein
 
Hermein сломал счётчик популярности :(Hermein сломал счётчик популярности :(Hermein сломал счётчик популярности :(Hermein сломал счётчик популярности :(Hermein сломал счётчик популярности :(Hermein сломал счётчик популярности :(Hermein сломал счётчик популярности :(Hermein сломал счётчик популярности :(Hermein сломал счётчик популярности :(Hermein сломал счётчик популярности :(Hermein сломал счётчик популярности :(
Регистрация: 14.01.2011
Сообщений: 633
Популярность: 28087
Золото Zhyk.Ru: 1
Сказал(а) спасибо: 90
Поблагодарили 717 раз(а) в 374 сообщениях
Отправить сообщение для Hermein с помощью ICQ Отправить сообщение для Hermein с помощью Skype™
 
По умолчанию Re: C# обьясните как парсировать??

Цитата:
Сообщение от Deep45Посмотреть сообщение
Значение StartIndex не может быть меньше нуля.
Имя параметра: startIndex

Добавлено через 4 минуты
string rezult = s[i].Substring(nachalo, konets); у этой строки такая ошибка (при компилиров.)
Значение StartIndex не может быть меньше нуля.
Имя параметра: startIndex

Делай тогда все по-другому!
: string[] s = html.Split();
for (int i = 0; i < s.Length; i++)
{int nachalo = s[i].IndexOf("hash:");
string result = s[i].Remove(0, nachalo);//удаляешь все что до хэша
//int konets = s[i].IndexOf("cats:");
rezult = s[i].Substring(0, rezult.Lenght);
MessageBox.Show(rezult);

Последний раз редактировалось Hermein; 06.04.2011 в 22:20.
  Ответить с цитированием
Старый 06.04.2011, 22:19   #7
 Разведчик
Аватар для Deep45
 
Deep45 на правильном пути
Регистрация: 30.01.2011
Сообщений: 11
Популярность: 52
Сказал(а) спасибо: 2
Поблагодарили 21 раз(а) в 14 сообщениях
 
По умолчанию Re: C# обьясните как парсировать??

string result = s[i].Remove(0, nachalo);
ошибка
Значение счетчика не может быть меньше нуля.
Имя параметра: count

Добавлено через 2 минуты
Код:
                string[] s = html.Split();
                for (int i = 0; i < s.Length; i++)
                {
                    int nachalo = s[i].IndexOf("hash: '");
                    string result = s[i].Remove(0, nachalo);//к ебеням все что до хэша
                    int konets = s[i].IndexOf("cats");
                    string rezult = s[i].Substring(0, konets);
                    MessageBox.Show(rezult);
                }
подправил немного
________________
ПОМОГ? ПОСТАВЬ "СПАСИБО"!

Последний раз редактировалось Deep45; 06.04.2011 в 22:21. Причина: Добавлено сообщение
  Ответить с цитированием
Старый 08.04.2011, 21:30   #8
Читер-спонсор
 Рыцарь-защитник
Аватар для Hermein
 
Hermein сломал счётчик популярности :(Hermein сломал счётчик популярности :(Hermein сломал счётчик популярности :(Hermein сломал счётчик популярности :(Hermein сломал счётчик популярности :(Hermein сломал счётчик популярности :(Hermein сломал счётчик популярности :(Hermein сломал счётчик популярности :(Hermein сломал счётчик популярности :(Hermein сломал счётчик популярности :(Hermein сломал счётчик популярности :(
Регистрация: 14.01.2011
Сообщений: 633
Популярность: 28087
Золото Zhyk.Ru: 1
Сказал(а) спасибо: 90
Поблагодарили 717 раз(а) в 374 сообщениях
Отправить сообщение для Hermein с помощью ICQ Отправить сообщение для Hermein с помощью Skype™
 
По умолчанию Re: C# обьясните как парсировать??

Цитата:
Сообщение от gg-_-doterПосмотреть сообщение
пацаны, а как написать простой парсер например для айсикапа или гарены.

Чарлика, я думаю будет более чем предостаточно.
А потом парсь ответы с пост/гэт запросов
  Ответить с цитированием
Старый 10.04.2011, 15:03   #9
 Сержант
Аватар для garik_sanek
 
garik_sanek излучает ауруgarik_sanek излучает ауруgarik_sanek излучает ауруgarik_sanek излучает ауруgarik_sanek излучает ауруgarik_sanek излучает ауру
Регистрация: 02.04.2010
Сообщений: 111
Популярность: 593
Сказал(а) спасибо: 118
Поблагодарили 195 раз(а) в 77 сообщениях
Отправить сообщение для garik_sanek с помощью Skype™
 
По умолчанию Re: C# обьясните как парсировать??

[Ссылки могут видеть только зарегистрированные пользователи. ]
  Ответить с цитированием
Старый 11.04.2011, 19:19   #10
 Разведчик
Аватар для bohdan09
 
bohdan09 на правильном пути
Регистрация: 10.01.2011
Сообщений: 21
Популярность: 43
Сказал(а) спасибо: 78
Поблагодарили 45 раз(а) в 13 сообщениях
 
По умолчанию Re: C# обьясните как парсировать??

Скачай [Ссылки могут видеть только зарегистрированные пользователи. ]. Тут есть все. Состоит из 2 частей по 2,5 гига. Парсирование в первой части. Курсы классные сам по им учу.
________________
Помог? - поставь спасибку
[Ссылки могут видеть только зарегистрированные пользователи. ]
  Ответить с цитированием
Старый 15.04.2011, 01:06   #11
 Сержант
Аватар для kLeeNeX
 
kLeeNeX скоро будет известенkLeeNeX скоро будет известенkLeeNeX скоро будет известенkLeeNeX скоро будет известенkLeeNeX скоро будет известен
Регистрация: 01.02.2011
Сообщений: 135
Популярность: 417
Сказал(а) спасибо: 31
Поблагодарили 214 раз(а) в 47 сообщениях
 
По умолчанию Re: C# обьясните как парсировать??

ох лол вы че творите, какой сплит. все проще:
Код:
string pattern = ""; //маска
Match isMatch = Regex.Match("это входной текст", pattern, RegexOptions.IgnoreCase);
isMatch.Value //отпарсенный кусок
чтоб маску составить над немного почитать про регулярные выражения. я наловчился, могу ее накидать за пару минуток, только надо видеть структуру входящей строки полностью
  Ответить с цитированием
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Обьясните Это! CypoBblu Общение и обсуждение Perfect World 4 22.03.2011 13:55
[Помогите!] обьясните maxxtron Общение и обсуждение, архив Lineage 2 7 31.10.2010 12:03

Заявление об ответственности / Список мошенников

Часовой пояс GMT +4, время: 06:27.

Пишите нам: [email protected]
Copyright © 2024 vBulletin Solutions, Inc.
Translate: zCarot. Webdesign by DevArt (Fox)
G-gaMe! Team production | Since 2008
Hosted by GShost.net