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

Узнай цену своей работы

Формулировка задачи:

Добрый день, помогите пожалуйста с решением проблемы, в интернете нашел способы как парсить страницу или страницы. Вот есть код:
 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, то он работает, почему так? С этим кодом тоже самое:
 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;

Решение задачи: «Парсинг страниц прямо с сайта»

textual
Листинг программы
[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>

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

14   голосов , оценка 4 из 5