11.07.2010, 06:24
|
|
Интернет-турист
|
|
Регистрация: 01.08.2008
Сообщений: 516
|
|
Принцип Javascript парсинга
Прощу прощения если запульнул не в тот раздел, не смог выбрать более подходящий.
Столкнулся с идеей парсинга сайта на Javascript. Имеется HTML страница с картинками. Нужно методом POST отправить:
1. код страницы
2. картинки (1-4 штуки, файлами)
С 1 пунктов проблем я думаю не возникнет. Если действовать стандартными методами, то это фрейм который подгружает нужный УРЛ, после чего мы запрашиваем у него видимо innerHTML, или что-то другое, но думаю это не сложно. А на jQuery есть функция load() для получения кода страницы, думаю она даже лучше подойдет.
Потом полученный код обрабатываю и ищу в нем адреса нужных картинок. И вот тут наверное главный вопрос, а как их прикрепить к отправке формы, как будто мы отправили через <input type="file" ... > ?
...
Как я понял отправить методом POST не получится файлы, т.к. это нарушает принцип безопасности HTML. А имеет ли жизнь такой вариант: через какую-нить Javascript функцию получить код картинки (а-ля бинарный код или т.п.) его закинуть в <textarea>. А на стороне сервера обратно скомпилировать из него картинку? (картинки в формате jpg)
Последний раз редактировалось greatilya, 11.07.2010 в 07:05.
|
|
11.07.2010, 07:31
|
|
Рассеянный профессор
|
|
Регистрация: 06.04.2009
Сообщений: 2,379
|
|
Наверное, лучше сразу в сторону флеша копать.
|
|
11.07.2010, 08:18
|
|
Интернет-турист
|
|
Регистрация: 01.08.2008
Сообщений: 516
|
|
Сообщение от Riim
|
Наверное, лучше сразу в сторону флеша копать
|
флеш, совсем не знаю...
а на Javascript возможно получить код картинки? чтобы потом перекодировать обратно на PHP...
|
|
11.07.2010, 08:29
|
|
Рассеянный профессор
|
|
Регистрация: 06.04.2009
Сообщений: 2,379
|
|
Сообщение от greatilya
|
а на Javascript возможно получить код картинки?
|
99.9% нет, разве что в IE. Еще, кажется, можно цвета пикселей на canvas-е в FF получать.
|
|
11.07.2010, 08:30
|
|
⊞ Развернуть
|
|
Регистрация: 11.01.2010
Сообщений: 1,810
|
|
Можно только XHR'ом, на который действует ограничение по доменам.
|
|
11.07.2010, 11:01
|
|
Профессор
|
|
Регистрация: 15.12.2009
Сообщений: 742
|
|
Непонимаю зачем так ломать голову? Получаете адрес картинки и отправляете его серверу. На серверной стороне просто получаете данные get_file_contents и записываете на сервер. все. зачем еще чето мудрить?
__________________
Настоящий программист думает и осознает сам решение задачи, а не копирует другие мысли, не осознавая их (c)
Относись к человеку так же, как хотелось бы отношения к себе (с)
Все нужно там, где оно нужно, а все не нужно нигде (с) Gozar
B~Vladi: А кто такой JavaScript стрелок?! micscr: это тот, кто не jQuery танкист.
Программы становятся медленнее быстрее, чем компьютеры становятся быстрее (с) Никлаус Вирт
|
|
11.07.2010, 11:11
|
|
猫
|
|
Регистрация: 07.06.2007
Сообщений: 7,504
|
|
greatilya,
картинки это каптча?
|
|
11.07.2010, 15:55
|
|
Интернет-турист
|
|
Регистрация: 01.08.2008
Сообщений: 516
|
|
Сообщение от Gozar
|
картинки это каптча?
|
Нет не капча... а просто парсинг...
да я уже понял... вначале "обломался" с картинками... потом оказывается и с фреймов инфу не получить.... придется парсить с сервера на динамическом ip...
Всем спасибо!
|
|
11.07.2010, 18:17
|
|
猫
|
|
Регистрация: 07.06.2007
Сообщений: 7,504
|
|
Сообщение от greatilya
|
да я уже понял... вначале "обломался" с картинками... потом оказывается и с фреймов инфу не получить.... придется парсить с сервера на динамическом ip...
|
а при чем здесь динамический ip?
То что вы обломались не означает что вопрос не решаем, по поводу фреймов могу сказать что эту идиотскую мысль нужно откинуть сразу как только она придет. И уж тем более не понятно зачем отсылать на свой же по видимому локальный сервер, то что уже получено?
Последний раз редактировалось Gozar, 11.07.2010 в 18:21.
Причина: ?
|
|
11.07.2010, 18:43
|
|
Профессор
|
|
Регистрация: 15.12.2009
Сообщений: 742
|
|
Сообщение от Gozar
|
то что уже получено?
|
он по ходу хочет перевести адрес картинки в данные этой картинки.
__________________
Настоящий программист думает и осознает сам решение задачи, а не копирует другие мысли, не осознавая их (c)
Относись к человеку так же, как хотелось бы отношения к себе (с)
Все нужно там, где оно нужно, а все не нужно нигде (с) Gozar
B~Vladi: А кто такой JavaScript стрелок?! micscr: это тот, кто не jQuery танкист.
Программы становятся медленнее быстрее, чем компьютеры становятся быстрее (с) Никлаус Вирт
|
|
|
|