<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title><![CDATA[向东博客 专注WEB应用 构架之美 --- 构架之美，在于尽态极妍 | 应用之美，在于药到病除]]></title> 
<link>http://jackxiang.com/index.php</link> 
<description><![CDATA[赢在IT，Playin' with IT,Focus on Killer Application,Marketing Meets Technology.]]></description> 
<language>zh-cn</language> 
<copyright><![CDATA[向东博客 专注WEB应用 构架之美 --- 构架之美，在于尽态极妍 | 应用之美，在于药到病除]]></copyright>
<item>
<link>http://jackxiang.com/post//</link>
<title><![CDATA[[实践OK]linux wget 抓取整个网站网页包括css背景图片，对一些前端做了不让打开F12的JS提示文件搜索，PHP wget 获取文件]]></title> 
<author>jack &lt;xdy108@126.com&gt;</author>
<category><![CDATA[Unix/LinuxC技术]]></category>
<pubDate>Thu, 01 Sep 2011 15:06:57 +0000</pubDate> 
<guid>http://jackxiang.com/post//</guid> 
<description>
<![CDATA[ 
	<textarea name="code" class="php" rows="15" cols="100">
wget -r -p -np -k http://ticket.cpcmuseum.cn/Home/Index
生成目录：E:&#92;download&#92;ticket.cpcmuseum.cn
css
Home
images
Scripts
</textarea><br/>-r, –recursive（递归） specify recursive download.（指定递归下载）<br/>-k, –convert-links（转换链接） make links in downloaded HTML point to local files.（将下载的 HTML 页面中的链接转换为相对链接即本地链接）<br/>-p, –page-requisites（页面必需元素） get all images, etc. needed to display HTML page.（下载所有的图片等页面显示所需的内容）<br/>-np, –no-parent（不追溯至父级） don’t ascend to the parent directory.<br/>另外断点续传用 - nc 参数 日志 用 - o 参数<br/><a href="http://www.mokeyjay.com/archives/959" target="_blank">http://www.mokeyjay.com/archives/959</a><br/><br/>整站下载后用grep 实现找JS提示文案，定位JS文件名称：<br/><textarea name="code" class="php" rows="15" cols="100">
#grep -rl &quot;请选择有效预约时段&quot; ./&nbsp;&nbsp;&nbsp;&nbsp;
./Ticket/SpecialTourist?k=8MuixIkKOEaOw1WjdsdtNkFDIXZX3VeKHdGuYnnA9N5xaeAOEAH0uw[EQUAL][EQUAL]

[root@develop_mysql_10_10_0_57:/tmp/ticket.cpcmuseum.cn]
#less ./Ticket/SpecialTourist&#92;?k&#92;=8MuixIkKOEaOw1WjdsdtNkFDIXZX3VeKHdGuYnnA9N5xaeAOEAH0uw&#92;[EQUAL&#92;
]&#92;[EQUAL&#92;] 
</textarea><br/><br/><br/>示例用wget下载整个目录包括图片和CSS&amp;HTML：<br/>root@116.255.139.240:/home/admin/wget#<br/>wget -r -x&nbsp;&nbsp;http://c.jackxiang.com/login/index.html?url=http://bbs.jackxiang.com/passport.php<br/>查看下载情况：<br/>root@116.255.139.240:/home/admin/wget/c.jackxiang.com/login# ls<br/>css&nbsp;&nbsp;images&nbsp;&nbsp;index.html?url=http:%2F%2Fbbs.jackxiang.com%2Fpassport.php<br/><br/><br/>wget 是一个命令行的下载文件工具,它支持HTTP，HTTPS和FTP协议，可以使用HTTP代理。Linux用户经常需要使用它。下此介绍几个wget使用的技巧。<br/>wget技巧大全:<br/>1&gt;下载 http://www.linux.com 网站上 packs 目录中的所有文件<br/>$ wget -r -np -nd http://www.linux.com/packs/<br/>-np 的作用是不遍历父目录<br/>-nd 表示不在本机重新创建目录结构。<br/>2&gt;下载整个http或者ftp站点<br/>$ wget -r -x http://www.linux.com<br/>-x&nbsp;&nbsp;的作用强制建立服务器上一模一样的目录<br/>这个命令会按照递归的下载服务器上所有的目录和文件，就是下载整个网站。在下载的时候，被下载网站指向的所有地址都会被下载，如果这个网站引用了其他网站，被引用的网站也会被下载下来！！！<br/>注意: 可以用-l number参数来指定下载的层次。例如只下载两层，那么使用-l 2。<br/>如: wget -r -x -l 2 http://www.linux.com<br/>3&gt;wget选择性的只下载某类文件<br/>$ wget -r -np -nd –accept=iso http://www.linux.com/i386/<br/>–accept=iso 选项，这指示wget仅下载 i386 目录中所有扩展名为 iso 的文件。你也可以指定多个扩展名，只需用逗号分隔即可。<br/>4&gt;批量下载<br/>wget -i downloads.txt<br/>如果有多个文件需要下载，那么把所有需要下载文件的地址放到downloads.txt中(每个文件的URL写一行)，然后 wget 就会自动为你下载所有文件了。<br/>5&gt;断点续传<br/>$ wget -c -t 100 -T 120 http://www.linux.com/big-file.iso<br/>当文件特别大或者网络特别慢的时候，往往一个文件还没有下载完，连接就已经被切断，此时就需要断点续传。wget的断点续传是自动的。<br/>-c 选项的作用为断点续传。<br/>-t 参数表示重试次数(例如需要重试100次，那么就写-t 100，如果设成-t 0，那么表示无穷次重试，直到连接成功。)<br/>-T 参数表示超时等待时间，例如-T 120，表示等待120秒连接不上就算超时。<br/>6&gt;镜像一个网站<br/>$ wget -m -k (-H) http://www.linux.com/<br/>如果网站中的图像是放在另外的站点，那么可以使用 -H 选项。<br/><br/>在php中，wget还是用到的比较多的，因为有时候会抓一下资源或者图片等等，<br/>这个时候file_get_contents就不大好用了，而且wget可以设置抓取的次数，时间等等，<br/>这些都是file_get_contents所不具备的，<br/>wget是shell命令，php如果想要调用直接用exec()函数就好了。 exec(&quot;wget -i xxxxx xxxxx&quot;);<br/><br/>脚本实现：<br/>============================================================<br/>介绍一下这个脚本的细节：<br/>第3行用于设置要下载的网站的地址。<br/>第10行用于将文件名转换为windows兼容的格式。windows对文件名格式的要求比unix更为苛刻一点，这里指定为windows也可以兼容unix系统。总的来说，wget的这个功能稍微弱了一点，面对一些更苛刻的系统就没有办法了。<br/>第13行用于忽略robots.txt。很多网站的css、js文件都是在robots.txt中被定义为spider不可访问的。<br/>第15、16行用于忽略某些目录和文件。因为没有了robots.txt的限制，wget可能会去访问一些不需要的东西。这里可以根据具体情况做限制。<br/>第19～24行下载css中链接的文件。<br/>第26～29行修正css中的链接。<br/><br/><textarea name="code" class="html" rows="15" cols="100">
#!/bin/sh&nbsp;&nbsp;
&nbsp;&nbsp;
ADDR=&quot;http://www.EXAMPLE.com/&quot;&nbsp;&nbsp;
&nbsp;&nbsp;
SERVER=$&#123;ADDR#http://&#125;&nbsp;&nbsp;
SERVER=$&#123;SERVER%%/*&#125;&nbsp;&nbsp;
&nbsp;&nbsp;
wget /&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;--html-extension /&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;--restrict-file-names=windows /&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;--convert-links /&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;--page-requisites /&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;--execute robots=off /&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;--mirror /&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;--exclude-directories /comment/reply/,/aggregator/,/user/ /&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;--reject &quot;aggregator*&quot; /&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&quot;$ADDR&quot;&nbsp;&nbsp;
&nbsp;&nbsp;
find $SERVER -type f -name &quot;*.css&quot; -exec cat &#123;&#125; /; &#124;&nbsp;&nbsp;
grep -o &#039;url(/[^)]*)&#039; &#124;&nbsp;&nbsp;
sort &#124;&nbsp;&nbsp; 
uniq &#124;&nbsp;&nbsp;
sed &#039;s/^url(/(.*/))$/http:////&#039;$SERVER&#039;/1/&#039; &#124;&nbsp;&nbsp;
wget --mirror --page-requisites -i -&nbsp;&nbsp;
&nbsp;&nbsp;
for i in `find $SERVER -type f -name &quot;*.css&quot;`; do&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;PREFIX=&quot;$(echo $i &#124; sed &#039;s/[^//]*//g; s///$//; s////../////g&#039;)&quot;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;sed -i &#039;s/url(///url(&#039;$PREFIX&#039;/g&#039; $i&nbsp;&nbsp;
done&nbsp;&nbsp;
</textarea><br/><br/><br/>参考：http://www.wduw.com/read.php?110<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;http://www.wduw.com/read.php?110<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;http://blog.csdn.net/jianglei421/article/details/6547826
]]>
</description>
</item><item>
<link>http://jackxiang.com/post//#blogcomment</link>
<title><![CDATA[[评论] [实践OK]linux wget 抓取整个网站网页包括css背景图片，对一些前端做了不让打开F12的JS提示文件搜索，PHP wget 获取文件]]></title> 
<author> &lt;user@domain.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate> 
<guid>http://jackxiang.com/post//#blogcomment</guid> 
<description>
<![CDATA[ 
	
]]>
</description>
</item>
</channel>
</rss>