Модераторы: Snowy, Poseidon, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Ошибка парсинга "http/1.1 404 Not Found" 
:(
    Опции темы
ruslandlion
Дата 13.9.2014, 20:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 115
Регистрация: 12.8.2006

Репутация: нет
Всего: нет



Программа берёт определенные данные с сайта, но по всей видимости при очередной итерации цикла, встречает несуществующую страницу , после чего аварийно завершается и выдаёт следующую ошибку 
user posted image
Я очень плохо разбираюсь в программировании сетевых технологий, поэтому если можно объясните на просторечивом языке. Как я понял, это значит, что программа пытается получить данные со страницы , которой нет и вылетает, как заставить цикл пропустить эту страницу и перейти к следующей итерации?
PM MAIL   Вверх
Poseidon
Дата 14.9.2014, 01:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Delphi developer
****


Профиль
Группа: Комодератор
Сообщений: 5273
Регистрация: 4.2.2005
Где: Гомель, Беларусь

Репутация: 4
Всего: 133



с помощью try...except и Continue. 


--------------------
Если хочешь, что бы что-то работало - используй написанное, 
если хочешь что-то понять - пиши сам...
PM MAIL ICQ   Вверх
ruslandlion
Дата 14.9.2014, 10:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 115
Регистрация: 12.8.2006

Репутация: нет
Всего: нет



а что между try и except  заносить? как поймать эту ошибку? Вообще долго сидел и ужаснулся, get запрос к некоторым видео в контакте не проходит из компонента idhttp1
PM MAIL   Вверх
drkot
Дата 14.9.2014, 10:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ищущий
***


Профиль
Группа: Завсегдатай
Сообщений: 1042
Регистрация: 5.5.2006

Репутация: 0
Всего: 8



Цитата(ruslandlion @  14.9.2014,  11:08 Найти цитируемый пост)
не проходит из компонента idhttp1

Это как? Протокол другой?


--------------------
Ошибка не становится истиной по причине широкого распространения,
как и Истина не становится Ошибкой из-за того, что никто её не видит.
PM   Вверх
ruslandlion
Дата 14.9.2014, 11:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 115
Регистрация: 12.8.2006

Репутация: нет
Всего: нет



Цитата

Это как? Протокол другой? 

Нет, я пишу прогу, которая автоматически переходит к нужному мне видео в контакте и копирует его название и количество просмотров. Некоторые видео успешно парсятся, но на некоторых компонент idhttp1  не гетится 
Код

data2:= idhttp2.Get('http://vk.com/video-'+data3) ;


http://vk.com/videos-371313 вот группа , вот видео которое не заносится через эту команду  http://vk.com/video-371313_169938098 
Код

data2:= idhttp2.Get('http://vk.com/video-'+data3) ;
 

причём я напрямую копировал путь к нему , вставлял вот так 
Код

data2:= idhttp2.Get('http://vk.com/video-371313_169938098') ;


в data2 попадает почему то не само видео , а список видео http://vk.com/videos-371313 

Одни видюшки проходят парсинг, благополучно передаётся HTML код, заносится информация о количестве просмотров, другие, упорно не лезут в idhttp1

Это сообщение отредактировал(а) ruslandlion - 14.9.2014, 11:33
PM MAIL   Вверх
Poseidon
Дата 14.9.2014, 13:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Delphi developer
****


Профиль
Группа: Комодератор
Сообщений: 5273
Регистрация: 4.2.2005
Где: Гомель, Беларусь

Репутация: 4
Всего: 133



Цитата(ruslandlion @  14.9.2014,  10:08 Найти цитируемый пост)
а что между try и except  заносить?
Все где может возникать ошибка, которую надо обработать.



--------------------
Если хочешь, что бы что-то работало - используй написанное, 
если хочешь что-то понять - пиши сам...
PM MAIL ICQ   Вверх
drkot
Дата 14.9.2014, 19:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ищущий
***


Профиль
Группа: Завсегдатай
Сообщений: 1042
Регистрация: 5.5.2006

Репутация: 0
Всего: 8



Цитата(ruslandlion @  14.9.2014,  12:27 Найти цитируемый пост)
другие, упорно не лезут в idhttp1

так наверно надо следить что сервер отдал? и если страница не та, то наверно нужно это учитывать?



--------------------
Ошибка не становится истиной по причине широкого распространения,
как и Истина не становится Ошибкой из-за того, что никто её не видит.
PM   Вверх
ruslandlion
Дата 15.9.2014, 10:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 115
Регистрация: 12.8.2006

Репутация: нет
Всего: нет



Цитата

с помощью try...except и Continue. 


написал следующий код 

Код

try

 data2:= idhttp2.get('http://vk.com/video-'+data3) ;

  a1:= Pos(teg2,data2) ;

 a1:= a1+length(teg2);
a1:=a1+6;
data2:= copy(data2,a1,200);
b1:= Pos('<\/b>',data2);
data2:=copy(data2,1,b1-1);  // число просмотров найдено
 memo1.Lines.Add(data2);
 // записываем число просмотров в заголовок файла
 data2:= idhttp2.Get('http://vk.com/video-'+data3) ;
   a1:= Pos(teg3,data2) ;

a1:= a1+length(teg3);  // начало названия видео
data2:= copy(data2,a1,10000);
b1:= Pos(',"desc":"',data2);
data2:=copy(data2,1,b1-1);// название видео найдено
 memo1.Lines.Add(data2);
Memo1.Lines.SaveToFile(putkfailu+memo1.Lines[0]+txt); // записываем название видео в файл
 Application.ProcessMessages;
except
on E : Exception do
memo1.Lines.Add(E.ClassName +'ошибка , с сообщением '+ E.Message);


   end;
    end;



end.


всё равно не работает, выдаёт эту ошибку 

user posted image

Даже ОТ НАЧАЛА ВСЕГО КОДА писал try и в конце except , нифига :(

Это сообщение отредактировал(а) ruslandlion - 15.9.2014, 10:40
PM MAIL   Вверх
Akella
Дата 15.9.2014, 12:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 4
Всего: 329



Тебе нужно взять какой-нибудь сниффер и посмотреть, что передаёт браузер серверу. Чтобы ты тоже самое передавал.

Куки включены? Редирект включен?
PM MAIL   Вверх
drkot
Дата 15.9.2014, 13:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ищущий
***


Профиль
Группа: Завсегдатай
Сообщений: 1042
Регистрация: 5.5.2006

Репутация: 0
Всего: 8



Цитата(ruslandlion @  15.9.2014,  11:34 Найти цитируемый пост)
нифига :(

во первых при отладке эксепшены всегда выскакивают (даже есть try есть)
Во вторых Вы вообще читать умеете? Протокол HTTP хоть поверхностно знаете?
Написано же на чистом английском языке... "нет доступа" 
Обрабатывайте исключение, а не 
Цитата(ruslandlion @  15.9.2014,  11:34 Найти цитируемый пост)
ОТ НАЧАЛА ВСЕГО КОДА

истерите...



--------------------
Ошибка не становится истиной по причине широкого распространения,
как и Истина не становится Ошибкой из-за того, что никто её не видит.
PM   Вверх
ruslandlion
Дата 15.9.2014, 14:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 115
Регистрация: 12.8.2006

Репутация: нет
Всего: нет



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

Добавлено через 7 минут и 34 секунды
Цитата

Тебе нужно взять какой-нибудь сниффер и посмотреть, что передаёт браузер серверу. Чтобы ты тоже самое передавал.

Куки включены? Редирект включен? 


Спасибо за совет, насчёт куки и редирект я честно говоря незнаю, что это такое. Частично помогло отключение в Delphi  Tools- Language Exception- Stop on Delphi Exeptions , некоторые исключения отрабатываются. Но всё равно прога зависать начала, после парсинга некоторых видео.

Это сообщение отредактировал(а) ruslandlion - 15.9.2014, 14:09
PM MAIL   Вверх
Akella
Дата 15.9.2014, 14:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 4
Всего: 329



Цитата(ruslandlion @  15.9.2014,  14:06 Найти цитируемый пост)
Спасибо за совет, насчёт куки и редирект я честно говоря незнаю, что это такое.


Найми себе программиста.
PM MAIL   Вверх
Akella
Дата 15.9.2014, 15:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 4
Всего: 329



Цитата(ruslandlion @  15.9.2014,  14:06 Найти цитируемый пост)
я русским языком вначале написал, что очень плохо разбираюсь в сетевом программировании , так что неизвестно ещё , кто читать не умеет


И ещё очень плохо умеешь пользоваться поисковиком, если даже не смог зайти в гуголь и найти информацию что такое куки, сниффер, с чем их "едят" и как правильно "готовят".
PM MAIL   Вверх
Keeper89
Дата 10.10.2014, 01:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2580
Регистрация: 26.2.2009

Репутация: 6
Всего: 58



А где код получения data3 и т.д.?


--------------------
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Сети"
Snowy
Poseidon
MetalFan

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делится вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи

Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Snowy, Poseidon, MetalFan.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Сети | Следующая тема »


 




[ Время генерации скрипта: 0.0553 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.