![]() |
|
Модераторы: Partizan, gambit |
![]()
|
|
| Georgich |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 105 Регистрация: 20.1.2008 Репутация: нет Всего: нет |
Приветствую.
В MSDN почитал про класс WebClient: http://msdn.microsoft.com/ru-ru/library/sy....webclient.aspx Решил посмотреть в деле. Сделал этот код для получения содержимого страницы ya.ru:
Первый вопрос: программка выводит в консоли содержимое страницы ya.ru со всеми тэгами. Как сделать, чтобы выводилось только, например, надпись "Сделать стартовой" (надпись в левом верхнем углу ya.ru)? Второе: у меня такое складывается ощущение, что в консоле выводится не все содержимое html страницы. Ибо смотря на код страницы, то можно увидеть что чего-то не хватает? Понять не могу, это из-за того, что код не помещается в переменную string s или есть другая причина? Спасибо. Это сообщение отредактировал(а) Georgich - 25.6.2009, 22:33 |
|||
|
||||
| diadiavova |
|
|||
![]() Доктор Зло(диагност, настоящий, с лицензией и полномочиями) ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5821 Регистрация: 14.8.2008 Где: В Коньфпольте Репутация: 31 Всего: 142 |
Записи можно получить с помощью SgmlReader, а несоответствия могут иметь место из-за того, что неполный документ (например без корневого тега html) браузер обычно дополняет. Надо смотреть в чём конкретно несоответствие.
-------------------- Хочешь получить мудрый совет - читай подписи участников форумов. Злой доктор Щасзаболит |
|||
|
||||
| Georgich |
|
||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 105 Регистрация: 20.1.2008 Репутация: нет Всего: нет |
Ку, diadiavova.
Ну вот попробуйте создать консольное приложение, вбить код, который я привел, только вместо
вписать
или любую другую ссылку на ifolder. Затем запустить программу и вы увидите, что выводится не весь код. Даже не могу понять по какому принципу он "выдерает" блок кода из страницы. В приведенном примере с ifolder там нет ни начала html документа, ни конца. Просто выдран код из середины страницы. Объясните, пожалуйста. |
||||
|
|||||
| diadiavova |
|
||||
![]() Доктор Зло(диагност, настоящий, с лицензией и полномочиями) ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5821 Регистрация: 14.8.2008 Где: В Коньфпольте Репутация: 31 Всего: 142 |
Я же в предыдущем посте как раз именно об этом и сказал. С сервера документ может прийти в неполном виде, а полным его делает уже браузер. Вот простой пример. Создаём документ следующего содержания
Открываем его в браузере(в моём случае МозилаФайрфокс) и сохраняем. После сохранения новый документ будет выглядеть так
Добавлено через 1 минуту и 58 секунд То есть никто ничего не выдирает. С сервера зачастую документы приходят именно в таком виде. -------------------- Хочешь получить мудрый совет - читай подписи участников форумов. Злой доктор Щасзаболит |
||||
|
|||||
| Georgich |
|
||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 105 Регистрация: 20.1.2008 Репутация: нет Всего: нет |
Ну понятно, что браузер (в вашем случае Firefox) вставит служебные тэги, в моем случае (Opera) при сохранении ничего не вставляет. Дело в другом, как браузер может вставить, например, кусок текста, который написан на странице?
Допустим есть код:
и после прогона этой программой на выходе имеем, например, такое:
Откуда браузер возьмет первые два абзаца? Вот проблема в чем. Попробуйте это в программе и увидите. |
||||
|
|||||
| diadiavova |
|
||||
![]() Доктор Зло(диагност, настоящий, с лицензией и полномочиями) ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5821 Регистрация: 14.8.2008 Где: В Коньфпольте Репутация: 31 Всего: 142 |
Вообще-то он этого и не делает.
Ну тут в общем то вопрос принципиальный "имеем" или "имеем, например". Такого быть не должно. Из чего вообще следует, что на сервере есть эти 2 абзаца? Если их нет в документе, но они отображаются в браузере - значит они генерятся динамически, при помощи скрипта например. Вариантов вообще-то много. Надо смотреть что ещё к странице подключено. ЗЫ А опера при сохранени действительно ничего не вставляет, а IE вставляет -------------------- Хочешь получить мудрый совет - читай подписи участников форумов. Злой доктор Щасзаболит |
||||
|
|||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle. |
| 1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |