День добрый. Есть задачка:
-Вычачать HTML страничку и все картинки на которые она ссылается. (сделано)
-Открыв страничку на локальной машине браузером я хотел бы видеть эти картинки, т.е. переписать путь в тэге <img src=..."
Как это сделать наиболее эффективно? Я подумывал о regex, но на stackoverflow категорически не советуют этого делать.
Здравствуйте, RedCollarPanda, Вы писали:
RCP>Как это сделать наиболее эффективно? Я подумывал о regex, но на stackoverflow категорически не советуют этого делать.
Не проще ли заинжектить свой собственный JavaScript+jQuery и ими обработать все картинки?
Здравствуйте, Blazkowicz, Вы писали:
B>Здравствуйте, RedCollarPanda, Вы писали:
RCP>>Как это сделать наиболее эффективно? Я подумывал о regex, но на stackoverflow категорически не советуют этого делать. B>Не проще ли заинжектить свой собственный JavaScript+jQuery и ими обработать все картинки?
Здравствуйте, RedCollarPanda, Вы писали:
RCP>Я подумывал о regex, но на stackoverflow категорически не советуют этого делать.
Не нужно бездумно слушать SO. Там в основном умные мысли, но встречаются и глупости. Если структура веб-страницы неизменна (генерируется скриптом), то regexp чаще всего прекрасно подходит.
Суть претензий к регэкспу обычно в том, что XML (и HTML) это рекурсивная структура, а регэкспы не могут парсить рекурсивные структуры. Но в большинстве случаев можно работать с HTML как с текстом, а не как с древовидной структурой и никаких проблем не возникает.
А так аналог — распарсить HTML в DOM-документ одним из движков и в DOM-е ориентироваться одним из способов (либо XPath-селекторы либо CSS-селекторы).
Здравствуйте, vsb, Вы писали:
vsb>Здравствуйте, RedCollarPanda, Вы писали:
RCP>>Я подумывал о regex, но на stackoverflow категорически не советуют этого делать.
vsb>Не нужно бездумно слушать SO. Там в основном умные мысли, но встречаются и глупости. Если структура веб-страницы неизменна (генерируется скриптом), то regexp чаще всего прекрасно подходит.
vsb>Суть претензий к регэкспу обычно в том, что XML (и HTML) это рекурсивная структура, а регэкспы не могут парсить рекурсивные структуры. Но в большинстве случаев можно работать с HTML как с текстом, а не как с древовидной структурой и никаких проблем не возникает.
vsb>А так аналог — распарсить HTML в DOM-документ одним из движков и в DOM-е ориентироваться одним из способов (либо XPath-селекторы либо CSS-селекторы).
ТО есть regex подойдет если я хочу нечто вроде :
У меня например есть такие теги в файле, который я закачал
<a href="#hp-feature-2" data-lbl="feature 2"><img src="/us/hp01-thumb-cloudworld-2110108.jpg" alt="Business in the Cloud">
я хочу сделать вместо <img src="/us/hp01-thumb-cloudworld-2110108.jpg"
<img src="/hp01-thumb-cloudworld-2110108.jpg" — как бы из текущей директории
я на всякий пожарный сохраняю в отдельном массиве/буфере название всех картинок.
RCP>ТО есть regex подойдет если я хочу нечто вроде :
Регэксп для таких простых случаев может не подойти только когда требования довольно экзотичны, например обязательно обновить только тэги, но не комментарии
Здравствуйте, RedCollarPanda, Вы писали:
RCP>День добрый. Есть задачка: RCP>-Вычачать HTML страничку и все картинки на которые она ссылается. (сделано) RCP>-Открыв страничку на локальной машине браузером я хотел бы видеть эти картинки, т.е. переписать путь в тэге <img src=..."
RCP>Как это сделать наиболее эффективно? Я подумывал о regex, но на stackoverflow категорически не советуют этого делать.
Вот эта штука: http://jsoup.org/ умеет выкачивать, вносить правки в DOM, и потом сохранять уже с правками.
RCP>У меня например есть такие теги в файле, который я закачал
RCP><a href="#hp-feature-2" data-lbl="feature 2"><img src="/us/hp01-thumb-cloudworld-2110108.jpg" alt="Business in the Cloud">
RCP>я хочу сделать вместо <img src="/us/hp01-thumb-cloudworld-2110108.jpg"
RCP><img src="/hp01-thumb-cloudworld-2110108.jpg" — как бы из текущей директории
RCP>я на всякий пожарный сохраняю в отдельном массиве/буфере название всех картинок.
Кстати, в таком случае можно было бы пойти и другим путем. Скачанные картинки складывать не в текущую папку с html, а, собственно, с сохранением иерархии относительно текущей. Ну, т.е. файл hp01-thumb-cloudworld-2110108.jpg скачивать в папку us. Тогда при открытии в браузере она прекрасно отобразится без всяких изменений хтмл-кода. Некоторый плюс такого подхода в том, что многие картинки, отображаемые через js, тоже будут показываться.
Новости очень смешные. Зря вы не смотрите. Как будто за наркоманами подсматриваешь. Только тетка с погодой в завязке.
There is no such thing as a winnable war.