Форум программистов, компьютерный форум, киберфорум
C# .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.59/120: Рейтинг темы: голосов - 120, средняя оценка - 4.59
 Аватар для yurembo
10 / 10 / 5
Регистрация: 04.07.2009
Сообщений: 112

Считать веб страницу

21.03.2011, 00:23. Показов 24989. Ответов 14
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте! Возможно вопрос покажется немного чудным, но мне нужно считать весь текст с определенной веб страницы в какую то переменную, или все равно куда, чтобы потом проводить операции над самим текстом... Подскажите пожалуйста как можно это сделать, подтолкните к решению... Спасибо!
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
21.03.2011, 00:23
Ответы с готовыми решениями:

Как передать данные с "веб-страницы 1" на "веб-страницу 2"?
Как передать данные с "веб-страницы 1" на "веб-страницу 2"? Ну, к примеру: 1) На "Веб-странице 1" в элементе TextBox1...

Сохранить веб-страницу полностью
Приветствую всех! Интересует вопрос: как сохранить веб-страницу полностью? Или как сохранить как текст? На данный момент...

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

14
 Аватар для Sergei
1513 / 780 / 103
Регистрация: 22.04.2008
Сообщений: 1,610
21.03.2011, 00:27
Попробуйте использовать класс WebClient
1
MADE IN USSR
 Аватар для Товарищ
72 / 71 / 0
Регистрация: 01.06.2010
Сообщений: 203
21.03.2011, 00:34
Ну допустим так
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
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Net;
using System.IO;
 
namespace twetwo
{
    class Program
    {
        static void Main()
        {
            HttpWebRequest proxy_request = (HttpWebRequest)WebRequest.Create("http://yandex.ru");
            proxy_request.Method = "GET";
            proxy_request.ContentType = "application/x-www-form-urlencoded";
            proxy_request.UserAgent = "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/532.5 (KHTML, like Gecko) Chrome/4.0.249.89 Safari/532.5";
            proxy_request.KeepAlive = true;
            HttpWebResponse resp = proxy_request.GetResponse() as HttpWebResponse;
            string html = "";
            using (StreamReader sr = new StreamReader(resp.GetResponseStream(), Encoding.GetEncoding(1251)))
            html = sr.ReadToEnd();
            html = html.Trim();
            Console.WriteLine(html);
        }
    }
}
4
 Аватар для yurembo
10 / 10 / 5
Регистрация: 04.07.2009
Сообщений: 112
21.03.2011, 00:51  [ТС]
да, спасибо, оба способа подходят!
а можно чтобы только текст считывать, без тегов всех хтмл-овских? или это уже перебирать "вручную"?
0
MADE IN USSR
 Аватар для Товарищ
72 / 71 / 0
Регистрация: 01.06.2010
Сообщений: 203
21.03.2011, 00:58
Цитата Сообщение от yurembo Посмотреть сообщение
да, спасибо, оба способа подходят!
а можно чтобы только текст считывать, без тегов всех хтмл-овских? или это уже перебирать "вручную"?
Зачем же вручную, есть такая мощная и замечательная штука как регулярные выражения.
С пощью допустим такого кода можно выдрать все ссылки со странички:

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
35
36
37
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Net;
using System.IO;
using System.Text.RegularExpressions;
 
namespace twetwo
{
    class Program
    {
        static void Main()
        {
            HttpWebRequest proxy_request = (HttpWebRequest)WebRequest.Create("http://yandex.ru");
            proxy_request.Method = "GET";
            proxy_request.ContentType = "application/x-www-form-urlencoded";
            proxy_request.UserAgent = "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/532.5 (KHTML, like Gecko) Chrome/4.0.249.89 Safari/532.5";
            proxy_request.KeepAlive = true;
            HttpWebResponse resp = proxy_request.GetResponse() as HttpWebResponse;
            string html = "";
            using (StreamReader sr = new StreamReader(resp.GetResponseStream(), Encoding.GetEncoding(1251)))
            html = sr.ReadToEnd();
            html = html.Trim();
            Regex reg_for_proxy = new Regex(@"(http://.\S+.\d+?)", RegexOptions.Singleline | RegexOptions.IgnoreCase);
            MatchCollection collect_math = reg_for_proxy.Matches(html);
            foreach (Match a in collect_math)
            {
 
                Console.WriteLine(a);
                string b = Convert.ToString(a);               
 
            }
            
        }
    }
}
Ну а далее вам уже придётся самому, так как текст бывает на сайтах в разных тегах....
5
 Аватар для yurembo
10 / 10 / 5
Регистрация: 04.07.2009
Сообщений: 112
21.03.2011, 01:08  [ТС]
ну спасибо)
я лишь недавно перешел на C# , мб посоветуете какую нибудь литературу хорошую???
0
MADE IN USSR
 Аватар для Товарищ
72 / 71 / 0
Регистрация: 01.06.2010
Сообщений: 203
21.03.2011, 01:13
Цитата Сообщение от yurembo Посмотреть сообщение
ну спасибо)
я лишь недавно перешел на C# , мб посоветуете какую нибудь литературу хорошую???
Классики:
Шилдт Г. Полное руководство С#4.0
И, разумеется, Троелсен Э. - Язык программирования C# 2010 и платформа .NET 4 - 2010.

Возможно Нэш Трей - C# 2010. Ускоренный курс для профессионалов, если у вас уже имеется опыт работы с ОО языками.

И ещё книга есть .NET Сетевое программирование для профессионалов, очень много материала для работы с сетью, запросами к сайтам и т.д..
3
 Аватар для yurembo
10 / 10 / 5
Регистрация: 04.07.2009
Сообщений: 112
21.03.2011, 01:20  [ТС]
Цитата Сообщение от ucit Посмотреть сообщение
Шилдт Г. Полное руководство С#4.0
эту как раз прямо сейчас читаю) остальные поищу.
спасибо, помогли
0
0 / 0 / 1
Регистрация: 22.03.2011
Сообщений: 37
25.03.2011, 17:41
а как скачать часть страницы мне нужно только первые 20 процентов. Через HttpWebRequest или WebClient????
0
179 / 175 / 14
Регистрация: 17.01.2011
Сообщений: 349
25.03.2011, 22:17
ekologic, воспользуйтесь методом AddRange класса WebRequest.
Только учтите, что его работа зависит от настроек сервера и зачастую заголовок просто игнорируется.
0
 Аватар для yurembo
10 / 10 / 5
Регистрация: 04.07.2009
Сообщений: 112
27.03.2011, 00:31  [ТС]
по ходу роботы наткнулся на то, что у разных сайтов разные кодировик (1251 и utf8). Можно ли заранее узнать какую сайт кодировку использует?
0
179 / 175 / 14
Регистрация: 17.01.2011
Сообщений: 349
27.03.2011, 09:13
Можно попробовать считывать первый килобайт страницы и вытаскивать оттуда кодировку. Как считать не всю страницу можно посмотреть на одно сообщение выше.
0
0 / 0 / 1
Регистрация: 22.03.2011
Сообщений: 37
27.03.2011, 17:36
Цитата Сообщение от Slap Посмотреть сообщение
Можно попробовать считывать первый килобайт страницы и вытаскивать оттуда кодировку. Как считать не всю страницу можно посмотреть на одно сообщение выше.
как?? httpwebrequest никак не могу остановить, когда останавливаю во время асинхронногог запроса он выдаеть ошибку.
0
179 / 175 / 14
Регистрация: 17.01.2011
Сообщений: 349
28.03.2011, 09:22
ekologic, я же вам выше отвечал: Считать веб страницу
Вот подробно об этом методе на MSDN.
Используется элементарно:
C#
1
2
3
// Create a New 'HttpWebRequest' object .
HttpWebRequest myHttpWebRequest1=(HttpWebRequest)WebRequest.Create("http://www.contoso.com");
myHttpWebRequest1.AddRange(1000);
Т.е. мы добавляем в заголовок, сколько байт от страницы мы хотим получить. Но, повторюсь, работает не всегда и зависит от настроек сервера.
1
0 / 0 / 0
Регистрация: 13.06.2017
Сообщений: 40
06.08.2019, 15:57
А как сюда добавить работу французскими символами типа: Æ æ é Ê ê. А то приходят каляки маляки
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
06.08.2019, 15:57
Помогаю со студенческими работами здесь

Загрузка файла на веб страницу
Всем привет! Необходимо загрузить файл на веб страницу через форму загрузки (кнопка - "прикрепить документ"). Форму можно...

Сместить веб-страницу в WebBrowser
Есть блок WebBrowser, например, 400x100, и нужно в этих 400x100 показать только часть сайта, как работать с позиционированием страницы в...

Создать веб страницу
Создать веб страницу с гиперссылками на любую тему информатики,физики или алгебры!!!С первоначальным документом index.htm

Скачать веб-страницу
Всем привет! Подскажите пожалуйста, как можно скачать в string веб-страницу?

Запрос на веб страницу
Доброго времени суток. У меня такой вопрос, как можно средствами ph отправить запрос на другую веб страницу? точнее на несколько страниц....


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

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru