Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/25: Рейтинг темы: голосов - 25, средняя оценка - 4.60
34 / 1 / 0
Регистрация: 01.06.2013
Сообщений: 50

Парсинг страниц прямо с сайта

15.04.2014, 11:12. Показов 4654. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день, помогите пожалуйста с решением проблемы, в интернете нашел способы как парсить страницу или страницы.
Вот есть код:
Кликните здесь для просмотра всего текста
C#
1
2
3
4
5
6
7
8
9
10
11
 string url = "ССЫЛКА";
            string html = string.Empty;
            string pattern = "<span itemprop=\"alternativeHeadline\">(.*?)</span>";
 
            HttpWebRequest myRequest = (HttpWebRequest)HttpWebRequest.Create(url);
            HttpWebResponse myResponse = (HttpWebResponse)myRequest.GetResponse();
            StreamReader sr = new StreamReader(myResponse.GetResponseStream(), Encoding.GetEncoding(1251));
            html = sr.ReadToEnd();
 
            Match res = Regex.Match(html, pattern);
            label1.Text = res.Groups[1].ToString();
(скопировал с этого форума)

Если в ссылке http://www.kinopoisk.ru/film/596001/ то код не работает, я скопировал код страницы и залил на хостинг и если ввожу http://mit.url.ph/index1.html, то он работает, почему так?
С этим кодом тоже самое:
Кликните здесь для просмотра всего текста
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
 List<string> citys = new List<string>();
            List<string> dates = new List<string>();
            List<string> rating = new List<string>();
            WebClient web = new WebClient();
            String html = web.DownloadString("ССЫЛКА");
            MatchCollection m1 = Regex.Matches(html, "/sr/1/\">(.*?)</a>", RegexOptions.Singleline);
            //MatchCollection m1 = Regex.Matches(html, "/sr/1/\">(.*?)</a>", RegexOptions.Singleline);
            MatchCollection m2 = Regex.Matches(html, "<span class=\"year\">(.*?)</span></p>", RegexOptions.Singleline);
            MatchCollection m3 = Regex.Matches(html, "<div class=\"rating  \" title=\"(.*?)\">", RegexOptions.Singleline);
            foreach (Match m in m1)
            {       
                    string city = m.Groups[1].Value;
                    citys.Add(city);
            }
            foreach (Match m in m2)
            {
                string date = m.Groups[1].Value;
                dates.Add(date);
 
            }
            foreach (Match m in m3)
            {
                string rate = m.Groups[1].Value;
                rating.Add(rate);
 
            }
            listBox1.DataSource = citys;
            listBox2.DataSource = dates;
            listBox3.DataSource = rating;
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
15.04.2014, 11:12
Ответы с готовыми решениями:

Парсинг сайта (нескольких страниц)
Подскажите пожалуйста, как сделать парсинг веб сайта ? к примеру возьмем cyberforum. Как мне в программе по разделу C# для начинающих,...

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

Парсинг соседних страниц сайта и перебор их
import requests from bs4 import BeautifulSoup import csv def get_html(url): r = requests.get(url) r.encoding =...

12
Кодогенератор
 Аватар для hepper
200 / 200 / 51
Регистрация: 15.06.2011
Сообщений: 794
15.04.2014, 12:19
там скриптом генерируется часть страницы, т.е. когда ты ее в программе грузишь страница еще не полностью сформирована
0
Кодогенератор
 Аватар для hepper
200 / 200 / 51
Регистрация: 15.06.2011
Сообщений: 794
15.04.2014, 12:29
вот пример парсинга через браузер
Вложения
Тип файла: zip SiteParserExample.zip (11.2 Кб, 183 просмотров)
2
34 / 1 / 0
Регистрация: 01.06.2013
Сообщений: 50
15.04.2014, 13:40  [ТС]
hepper - то есть сначала нужно загрузить страницу, а потом парсить?
не подскажите почему в примере 8 результатов показывает?

Добавлено через 50 минут
hepper - разобрался с вашим кодом, работает, искал именно этот принцип работы, но вот есть пару вопросов, как отключить в этом этом коде ошибку сценария которая вылазит раз 5 или еще русский текст вопросиками.
0
Кодогенератор
 Аватар для hepper
200 / 200 / 51
Регистрация: 15.06.2011
Сообщений: 794
15.04.2014, 13:54
Цитата Сообщение от wlx Посмотреть сообщение
отключить в этом этом коде ошибку сценария которая вылазит раз 5 или еще русский текст вопросиками.
в идеале лучше использовать вместо вебкомпонента чтото типа вебкита или авесомиума
0
34 / 1 / 0
Регистрация: 01.06.2013
Сообщений: 50
15.04.2014, 16:01  [ТС]
hepper - не получается с ошибкой сценария и русским((

Добавлено через 1 час 1 минуту
hepper - нашел как отключать ошибку сценария, но как его применить к вашему коду не могу понять.
C#
1
WebBrowser1.ScriptErrorsSuppressed = True
Добавлено через 38 минут
hepper - помогите пожалуйста с ошибкой сценария и кодировкой, не могу справиться с этими ошибками.
0
Кодогенератор
 Аватар для hepper
200 / 200 / 51
Регистрация: 15.06.2011
Сообщений: 794
15.04.2014, 16:16
подправь тут
C#
1
2
3
4
5
 public Form1()
        {
            InitializeComponent();
            clientB.ScriptErrorsSuppressed = true;
        }
0
34 / 1 / 0
Регистрация: 01.06.2013
Сообщений: 50
15.04.2014, 18:45  [ТС]
hepper - блин точно, я а уже и clientB и clientW менял, вписывал уже везде, кроме public Form1. Открыт вопрос с кодировкой.

Добавлено через 2 часа 24 минуты
hepper - помогите пожалуйста с кодировкой, перекопал уже все, не пойму как поменять.
0
Кодогенератор
 Аватар для hepper
200 / 200 / 51
Регистрация: 15.06.2011
Сообщений: 794
15.04.2014, 20:30
Цитата Сообщение от wlx Посмотреть сообщение
помогите пожалуйста с кодировкой
хз... что то компонент косячит..
0
34 / 1 / 0
Регистрация: 01.06.2013
Сообщений: 50
15.04.2014, 21:59  [ТС]
Это плохо, можете хоть примерно подсказать в какую сторону копать?
0
Кодогенератор
 Аватар для hepper
200 / 200 / 51
Регистрация: 15.06.2011
Сообщений: 794
17.04.2014, 20:04
Цитата Сообщение от wlx Посмотреть сообщение
можете хоть примерно подсказать в какую сторону копать?
не могу. единственное что могу сказать точно, что вебкомпонент на встроенном браузере не айс.
1
34 / 1 / 0
Регистрация: 01.06.2013
Сообщений: 50
18.04.2014, 10:19  [ТС]
Может кому нужно будет, решит проблему так:
C#
1
2
3
4
5
6
 Encoding enc = Encoding.GetEncoding("windows-1251");
            Stream stream = clientB.DocumentStream;
            StreamReader sr = new StreamReader(stream, enc);
            HTMLText = sr.ReadToEnd();
 
            var res = Regex.Matches(HTMLText.ToString(), pattern);
0
34 / 1 / 0
Регистрация: 01.06.2013
Сообщений: 50
23.05.2014, 14:09  [ТС]
Скажие пожалуйста, вот есть html код:
Кликните здесь для просмотра всего текста
HTML5
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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
[B]<a name="director"></a>[/B]
<div style="padding-left: 20px; border-bottom: 2px solid #f60; font-size: 16px">Режиссер</div>
 
<div class="dub no_dub dub_first">
   <div class="num">1.</div>
   <div class="actorInfo">
      <div class="photo"><a href="/name/1522619/"><img class="flap_img" src="http://st.kp.yandex.net/images/spacer.gif"  title="/images/sm_actor/1522619.jpg" alt="Гарет Эдвардс (Gareth Edwards)" /></a></div>
      <div class="info">
         <div class="name"><a href="/name/1522619/">Гарет Эдвардс</a> <span class="gray">Gareth Edwards</span></div>
         <div class="role"></div>
         <p class="MyKP_Folder_Select shortselect MyKP_Folder_1522619" objId="1522619" name="Мои звёзды" type="stars"></p>
      </div>
      <div class="clear"></div>
   </div>
   <div class="clear"></div>
</div>
 
[B]<a name="actor"></a>[/B]
<div style="padding-left: 20px; border-bottom: 2px solid #f60; font-size: 16px">Актеры</div>
 
<div class="dub no_dub dub_first">
   <div class="num">1.</div>
   <div class="actorInfo" style="min-height: 82px">
      <div class="photo"><a href="/name/29859/"><img class="flap_img" src="http://st.kp.yandex.net/images/spacer.gif"  title="/images/sm_actor/29859.jpg" alt="Аарон Тейлор-Джонсон (Aaron Taylor-Johnson)" /></a></div>
      <div class="info">
         <div class="name"><a href="/name/29859/">Аарон Тейлор-Джонсон</a> <span class="gray">Aaron Taylor-Johnson</span></div>
         <div class="role">... Ford Brody</div>
         <p class="MyKP_Folder_Select shortselect MyKP_Folder_29859" objId="29859" alt="1"  name="Мои звёзды" type="stars"></p>
      </div>
      <div class="clear"></div>
   </div>
   <div class="clear"></div>
</div>
 
[B]<a name="producer"></a>[/B]
<div style="padding-left: 20px; border-bottom: 2px solid #f60; font-size: 16px">Продюсеры</div>
 
 
<div class="dub no_dub dub_first">
   <div class="num">1.</div>
   <div class="actorInfo">
      <div class="photo"><a href="/name/29742/"><img class="flap_img" src="http://st.kp.yandex.net/images/spacer.gif"  title="/images/sm_actor/29742.jpg" alt="Боб Дюксэй (Bob Ducsay)" /></a></div>
      <div class="info">
         <div class="name"><a href="/name/29742/">Боб Дюксэй</a> <span class="gray">Bob Ducsay</span></div>
         <div class="role"></div>
         <p class="MyKP_Folder_Select shortselect MyKP_Folder_29742" objId="29742" name="Мои звёзды" type="stars"></p>
      </div>
      <div class="clear"></div>
   </div>
   <div class="clear"></div>
</div>


Как спарсить часть кода, от <a name="director"></a> до <a name="actor"></a>?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
23.05.2014, 14:09
Помогаю со студенческими работами здесь

Изменение содержиного БД прямо с сайта
Всем привет. Столкнулся с проблемой и не знаю, как ее решить - на сайт в виде таблицы загружается таблица из базы данных) мне нужно, чтоб...

Установка программы .exe прямо с сайта
Всем привет! Такой вопрос, возможно ли установить программу прямо с сайта или сделать так, чтобы после закачки программы на компьютер она...

нужно делать аплоад без компонент и прямо в каталог сайта
Добрый день ! Делаю Upload на по абсолютному пути, например C:InetPubWWWRoot на своей машине без каких-либо компонетов, все радостно и...

Визуальное редактирование сайта прямо в браузере, при помощи JS адресной строки
Никак не могу найти код. Буквально пару недель назад его юзал и потрел. Вот пример: Визуальное редактирование сайта прямо в...

Парсинг страниц Vk
Здравствуйте! Помогите пожалуйста кодом. Нужно парсить страницу сообщества в ВКонтакте из Delphi. Обычным способом не получается как...


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

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru