Научите парсить - Вопросы и ответы, обсуждения - Ваши вопросы по C# только в данном разделе
20.05.2012, 07:56
#1
Разведчик
Регистрация: 16.03.2011
Сообщений: 7
Популярность: 218
Сказал(а) спасибо: 32
Поблагодарили 6 раз(а) в 3 сообщениях
Научите парсить
Научите парсить плииз
запрос на серв делаю через такой код:
Код:
String secondStepForm = "act=a_send&al=1& hash=fc557bcd1eb2fea3ad&media=&msg=%D0%B0%D1%85%D0 %B0%D1%85%D1%85%D0%B0%D1%85%D0%B0%D1%85%D0%B0%20%D 1%8F%20%D0%BD%D0%B0%D0%BF%D0%B8%D1%81%D0%B0%D0%BB% 20%D0%BF%D1%80%D0%BE%D0%B3%D1%83%20%D0%BA%D0%BE%D1 %82%D0%BE%D1%80%D0%B0%D1%8F%20%D0%B1%D1%83%D0%B4%D 0%B5%D1%82%20%D1%81%D0%BB%D0%B0%D1%82%D1%8C%20%D1% 82%D0%B5%D0%B1%D0%B5%20%D1%8D%D1%82%D0%BE%20%D1%81 %D0%BE%D0%BE%D0%B1%D1%89%D0%B5%D0%BD%D0%B8%D0%B5.& title=&to=92187151&ts=897183201";
HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://vk.com/al_im.php");
request.UserAgent = "Opera/9.80";
request.Method = "POST";
request.ContentType = "application/x-www-form-urlencoded";
byte[] EncodedPostParams = Encoding.ASCII.GetBytes(secondStepForm);
request.ContentLength = EncodedPostParams.Length;
request.GetRequestStream().Write(EncodedPostParams, 0, EncodedPostParams.Length);
request.GetRequestStream().Close();
// Получаем ответ
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
// Получаем html-код страницы
string html = new StreamReader (response.GetResponseStream(),Encoding.UTF8).ReadToEnd();
// MessageBox.Show(html);
________________
Вконтакте ------> [Ссылки могут видеть только зарегистрированные пользователи. ]
Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).
20.05.2012, 12:59
#2
Разведчик
Регистрация: 30.07.2011
Сообщений: 19
Популярность: 115
Сказал(а) спасибо: 34
Поблагодарили 32 раз(а) в 30 сообщениях
Re: Научите парсить
[Ссылки могут видеть только зарегистрированные пользователи. ]
[Ссылки могут видеть только зарегистрированные пользователи. ]
________________
«Шрёдингер ходил по комнате в поисках котёнка, а тот сидел в коробке ни жив ни мертв.»
20.05.2012, 13:23
#3
Сержант
Регистрация: 01.10.2011
Сообщений: 128
Популярность: 5723
Сказал(а) спасибо: 25
Поблагодарили 174 раз(а) в 105 сообщениях
Re: Научите парсить
Парсить HTML RegExp'ами это как из пушки по воробьям стрелять проще XPath юзать
________________
Talk is cheap. Show me the code
— Linus Torvalds
21.05.2012, 10:39
#4
Разведчик
Регистрация: 16.03.2011
Сообщений: 7
Популярность: 218
Сказал(а) спасибо: 32
Поблагодарили 6 раз(а) в 3 сообщениях
Re: Научите парсить
а как юзать xpath ????
________________
Вконтакте ------> [Ссылки могут видеть только зарегистрированные пользователи. ]
Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).
21.05.2012, 12:59
#5
Разведчик
Регистрация: 30.07.2011
Сообщений: 19
Популярность: 115
Сказал(а) спасибо: 34
Поблагодарили 32 раз(а) в 30 сообщениях
Re: Научите парсить
________________
«Шрёдингер ходил по комнате в поисках котёнка, а тот сидел в коробке ни жив ни мертв.»
21.05.2012, 17:19
#6
Разведчик
Регистрация: 07.02.2011
Сообщений: 14
Популярность: -64
Сказал(а) спасибо: 10
Поблагодарили 14 раз(а) в 12 сообщениях
Re: Научите парсить
Цитата:
Сообщение от WiLLi-WindowS
а как юзать xpath ????
[
Ссылки могут видеть только зарегистрированные пользователи. ]
В нете достаточно документации по нему.
[
Ссылки могут видеть только зарегистрированные пользователи. ]
Также для браузера устанавливаешь дополнения, к примеру xpath helper для хрома
________________
B a l l i n U n c o n t r o l l a b l y
[Ссылки могут видеть только зарегистрированные пользователи. ]
Последний раз редактировалось Relapsein; 21.05.2012 в 17:26 .
21.05.2012, 17:52
#7
Разведчик
Регистрация: 16.03.2011
Сообщений: 7
Популярность: 218
Сказал(а) спасибо: 32
Поблагодарили 6 раз(а) в 3 сообщениях
Re: Научите парсить
а по русски нету?
________________
Вконтакте ------> [Ссылки могут видеть только зарегистрированные пользователи. ]
Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).
21.05.2012, 21:40
#8
Сержант
Регистрация: 01.10.2011
Сообщений: 128
Популярность: 5723
Сказал(а) спасибо: 25
Поблагодарили 174 раз(а) в 105 сообщениях
Re: Научите парсить
Юзаем так
Код:
HtmlWeb web = new HtmlWeb();
HtmlDocument doc = web.Load("http://zhyk.ru/forum/showthread.php?p=2966031");
HtmlNode node = doc.DocumentNode.SelectSingleNode("//*[@id=\"post_message_2966031\"]");
Console.WriteLine(node.InnerText);
Спарсит этот пост
Добавлено через 40 минут
Или можно скачать последний [
Ссылки могут видеть только зарегистрированные пользователи. ] того же
HAP , откомпилить их и сделать так:
Код:
HtmlWeb web = new HtmlWeb();
web.OverrideEncoding = Encoding.GetEncoding(1251);
HtmlDocument doc = web.Load("http://zhyk.ru/forum/showthread.php?p=2966031");
HtmlNode node = doc.DocumentNode.SelectSingleNode("//*[@id=\"post_message_2966031\"]");
Console.WriteLine(node.InnerText);
Это исправит проблемы с определением кодировки
________________
Talk is cheap. Show me the code
— Linus Torvalds
Последний раз редактировалось Yukikaze; 21.05.2012 в 22:20 .
Причина: Добавлено сообщение
21.05.2012, 22:27
#9
Разведчик
Регистрация: 16.03.2011
Сообщений: 7
Популярность: 218
Сказал(а) спасибо: 32
Поблагодарили 6 раз(а) в 3 сообщениях
Re: Научите парсить
2 последних вопроса: как его в проект установить и плиз ещё 1 пример заходит на [Ссылки могут видеть только зарегистрированные пользователи. ] и спарсить температуру сейчас мне для того чтобы полностью понять
________________
Вконтакте ------> [Ссылки могут видеть только зарегистрированные пользователи. ]
Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).
21.05.2012, 22:30
#10
Сержант
Регистрация: 01.10.2011
Сообщений: 128
Популярность: 5723
Сказал(а) спасибо: 25
Поблагодарили 174 раз(а) в 105 сообщениях
Re: Научите парсить
А можно не качать сорсы, а сделать так
Код:
StreamReader reader = new StreamReader(WebRequest.Create("http://zhyk.ru/forum/showthread.php?p=2966031").GetResponse().GetResponseStream(), Encoding.GetEncoding(1251));
HtmlDocument doc = new HtmlDocument();
doc.Load(reader);
HtmlNode node = doc.DocumentNode.SelectSingleNode("//*[@id=\"post_message_2966031\"]");
Console.WriteLine(node.InnerText);
или так
Код:
WebClient web = new WebClient();
HtmlDocument doc = new HtmlDocument();
doc.Load(web.OpenRead("http://zhyk.ru/forum/showthread.php?p=2966031"), Encoding.GetEncoding(1251));
HtmlNode node = doc.DocumentNode.SelectSingleNode("//*[@id=\"post_message_2966031\"]");
Console.WriteLine(node.InnerText);
Короче, ты ограничен лишь своей фантазией
Добавлено через 26 минут
Что бы добавить ссылку на либу - ПКМ по проекту -> Добавить ссылку... -> Обзор
________________
Talk is cheap. Show me the code
— Linus Torvalds
Последний раз редактировалось Yukikaze; 21.05.2012 в 22:57 .
Причина: Добавлено сообщение
22.05.2012, 08:58
#11
Разведчик
Регистрация: 16.03.2011
Сообщений: 7
Популярность: 218
Сказал(а) спасибо: 32
Поблагодарили 6 раз(а) в 3 сообщениях
Re: Научите парсить
а можно вариант НЕ для консоли
и кстати когда пробую то консоль быстро пишет весь код и выкидывает
________________
Вконтакте ------> [Ссылки могут видеть только зарегистрированные пользователи. ]
Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).
22.05.2012, 10:55
#12
Сержант
Регистрация: 01.10.2011
Сообщений: 128
Популярность: 5723
Сказал(а) спасибо: 25
Поблагодарили 174 раз(а) в 105 сообщениях
Re: Научите парсить
WiLLi-WindowS , все. Дальше в гугл искать книги Герберта Шилдта или на крайняк Бена Уотсона, может так зародыш мозга появится
________________
Talk is cheap. Show me the code
— Linus Torvalds
22.05.2012, 20:36
#13
Разведчик
Регистрация: 16.03.2011
Сообщений: 7
Популярность: 218
Сказал(а) спасибо: 32
Поблагодарили 6 раз(а) в 3 сообщениях
Re: Научите парсить
ок
Добавлено через 54 минуты
________________
Вконтакте ------> [Ссылки могут видеть только зарегистрированные пользователи. ]
Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).
Последний раз редактировалось WiLLi-WindowS; 22.05.2012 в 21:30 .
Причина: Добавлено сообщение
23.05.2012, 00:58
#14
Сержант
Регистрация: 01.10.2011
Сообщений: 128
Популярность: 5723
Сказал(а) спасибо: 25
Поблагодарили 174 раз(а) в 105 сообщениях
Re: Научите парсить
Как ни странно, но у меня с кодировкой все ок.
________________
Talk is cheap. Show me the code
— Linus Torvalds
23.05.2012, 08:51
#15
Разведчик
Регистрация: 16.03.2011
Сообщений: 7
Популярность: 218
Сказал(а) спасибо: 32
Поблагодарили 6 раз(а) в 3 сообщениях
Re: Научите парсить
скинь свой проект
________________
Вконтакте ------> [Ссылки могут видеть только зарегистрированные пользователи. ]
Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).
Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
Заявление об ответственности / Список мошенников
Часовой пояс GMT +4, время: 01:37 .