Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Парсинг картинок, Простая сложность! 
:(
    Опции темы
gogzor
Дата 8.8.2008, 19:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Модераторы : Удалите эту тему из раздела ".NET для новичков". Случайно не туда запостил.

Привет всем.

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

string pattern = @"<a.*?href=.?(?<RealImgUrl>.*).*?><img.*?src=.?(?<Image>.*?(jpg)).*?><\/a>";


В итоге я получаю список ссылок на картинка. Но они не полные. Т.е в основнеом это ссылки вида :
Код

<a href="images/image1.jpg"><img src="images/image1.jpg"></a>
<a href="images/image2.jpg"><img src="images/image2.jpg"></a>


Чтобы получить полный адресс , я склеиваю домен с ссылкой на картинку :
Код

string.Format("{0}/{1}", "http://www.site.com", "images/image1.jpg");


Но вот тут то и загвоздка! У некоторых сайтов картинки лежат не в корневой директории!
Например я получил ссылку pictures/mypic2008.jpg , склеиваю её с доменом и вот 404. 
Потому что картинка лежит например по адрессу : http://site.com/users/user238/holidays/pic...s/mypic2008.jpg (а у меня получается при склейке http://site.com/pictures/mypic2008.jpg)

Вопрос , каким волшебным способом можно узнавать правильное место нахождение картинок???

Я уже облазил весь Dom в C# , ничего не удалось. Может вы знаете как?  smile 

PM MAIL   Вверх
Partizan
Дата 8.8.2008, 19:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Let's do some .NET
****


Профиль
Группа: Модератор
Сообщений: 2828
Регистрация: 19.12.2005
Где: Санкт-Петербург

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



надо текущий адрес склеивать, а не домен...


--------------------
СУВ,
       Partizan.
PM MAIL WWW ICQ Skype GTalk Jabber   Вверх
gogzor
Дата 8.8.2008, 19:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Ну допустим текущий адрес http://site.com/user1/pics/portfolio
Там картинки расположены в таком виде /images/img1.jpg
И как я так определю , куда подставить эту ссылку на картинку?

 smile  <---- плиз

Это сообщение отредактировал(а) gogzor - 8.8.2008, 19:57
PM MAIL   Вверх
Kosten
Дата 8.8.2008, 22:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 45
Регистрация: 30.6.2003
Где: Cанкт-Петербург

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



gogzor, если картинка имеет адрес вида /folder/file.ext, то клеить этот путь надо к домену, а если адрес у картинки  folder/file.ext, то цепляй к текущему адресу
PM MAIL WWW ICQ   Вверх
Bishop
Дата 9.8.2008, 00:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 188
Регистрация: 3.6.2005
Где: Минск, Беларусь

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



gogzor, чтобы не гадать, лучше бы видеть конкретную страницу. Но проверьте ещё тег BASE.
PM WWW ICQ   Вверх
jonie
Дата 9.8.2008, 22:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



gogzor а ты стандарт HTTP почитай для начала. и разместите эту тему вообще не в разделе про c#, ибо про c# тут ничерта нет


--------------------
Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет...
PM MAIL Jabber   Вверх
gogzor
Дата 10.8.2008, 00:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Вопрос решен.
Jonie будте по мягче.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


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

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


 




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


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

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