2010-11-08 3 views
0

Я пытаюсь загрузить список названий фильмов, даты и продолжительности с этого сайта http://www.fancast.com/movies код, который у меня есть:Попытка загрузить список фильмов

// used to build entire input 
     StringBuilder sb = new StringBuilder(); 

     // used on each read operation 
     byte[] buf = new byte[8192]; 

     // prepare the web page we will be asking for 
     HttpWebRequest request = (HttpWebRequest) 
      WebRequest.Create("http://www.fancast.com/movies"); 

     // execute the request 
     HttpWebResponse response = (HttpWebResponse) 
      request.GetResponse(); 

     // we will read data via the response stream 
     Stream resStream = response.GetResponseStream(); 

     string tempString = null; 
     int count = 0; 

     do 
     { 
      // fill the buffer with data 
      count = resStream.Read(buf, 0, buf.Length); 

      // make sure we read some data 
      if (count != 0) 
      { 
       // translate from bytes to ASCII text 
       tempString = Encoding.ASCII.GetString(buf, 0, count); 

       // continue building the string 
       sb.Append(tempString); 
      } 
     } 
     while (count > 0); // any more data to read? 

, который заимствован из некоторого образца кода I найденных в сети. Однако, когда я смотрю, что он скачал, он не содержит информацию, которую я ищу. Он имеет ту же информацию, что и «Просмотр источника» на веб-сайте. Похоже, что он делает звонок на другой сайт, на котором есть информация, но я не могу найти или получить к нему доступ. Любая помощь в том, как захватить список названий фильмов, длину и/или дату, будет очень оценена. Благодаря!

+3

Не то, что это поможет вам с вашим вопросом, но вы можете заменить весь код с 'струнной pageData = новый WebClient() DownloadString (" HTTP.. : //www.fancast.com/movies ");' –

+0

Но каков ваш реальный вопрос? Вы хотите извлечь некоторые данные с загруженной страницы? В этом случае сделайте при просмотре исходного трюка и вставьте фрагмент данных, который содержит необходимую информацию, и укажите, какие части вы хотите извлечь из этого. –

ответ

1

Точно, если вы проанализируете исходный код этой веб-страницы, вы увидите, что фильмы загружаются из другого URL-адреса. Используйте инструменты разработчика google chrome (или любой другой инструмент, например «Fiddler2», который я действительно рекомендую) для отслеживания всех ресурсов, загружаемых браузером при отображении веб-страницы.

Я сделал это, похоже, что база данных фильмов захватывается : http://www.fancast.com/movies_free_db.widget

Таким образом, измените WebRequest, чтобы указать, что URL

+0

Спасибо, это помогло тонну! –

+0

Если бы это был ответ, который вы наблюдали, возможно, вы должны отметить мой ответ, как принято. –

+0

Сделано :). Я играю с инструментами разработчика Google Chrome Chrome, и мне все еще интересно, как вы узнали, что информация о названии фильма была http://www.fancast.com/movies_free_db.widget. Кроме того, вы знаете, где я могу найти длину фильма и год выпуска? Извините, но я очень новичок в этом и не посмел найти исходный код веб-страницы :( –

0

Хм ... есть довольно большая банка червей, которую вы открыли там.

Ваш комментарий, что результат: «... содержит ту же информацию, что и« Просмотр источника ... », заставляет меня думать, что вы не полностью понимаете детали происходящего.

Я рекомендую HTTP Programming Recipes for C#. Это книга, которую я читал, когда я впервые написал паутину, и я думаю, что это даст вам хороший толчок в правильном направлении.

Смежные вопросы