Ну да впрочем, искал я недолго:
wget -m -np http://www.commandprompt.com/ppbook/Отлично, открываю - а там все ссылки абсолютные, типа /ppbook/p206. Нет думаю, нас так просто не возьмёшь:
sed -i -e "s/\/ppbook\///" *[[:digit:]]**(такая маска нужна, что бы каталог images пропустить, а так там всё с цифрами)
Докачал css-файлы и изменил ссылки на них.
Кроме того, мне не понравились , что верхние части страниц занимает всякий мусор с http://www.commandprompt.com/, там ссылки на Home, About, поиск какой-то, короче, мне совершенно не нужные вещи. Решил победить:
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"Это xslt-преобразование копирует входящий html документ, вырезая из него блоки <div id="widetop"> и <ul id="greymenu_wide">
xmlns:html="http://www.w3.org/1999/xhtml"
version="1.0">
<xsl:output method="html" public="-//W3C//DTD XHTML 1.0 Transitional//EN" system="DTD/xhtml1-transitional.dtd">
<xsl:template match="/">
<xsl:copy>
<xsl:copy-of select="@*">
<xsl:apply-templates select="*">
</xsl:copy>
</xsl:template>
<xsl:template match="div[@id='widetop']">
<xsl:template match="ul[@id='greymenu_wide']">
<xsl:template match="*|text()">
<xsl:copy>
<xsl:copy-of select="@*">
<xsl:apply-templates select="*|text()">
</xsl:copy>
</xsl:template>
</xsl:stylesheet>
Плюс потребовался небольшой скрипт:
for path in $@Который был вызван следующим образом:
do
name=`echo $path | sed -e 's/ppbook\///'`
`xsltproc --html --novalid ppbook.xsl ppbook/$name > ppbook-copy/$name`
echo $name
done
./ppbook.sh ppbook/*[[:digit:]]**И всё отлично работает. Но полчаса времени я потерял. Вот и спрашивается, зачем людям жизнь осложнять?
Открой для себя wget -k :)
ОтветитьУдалить