我使用Wget创建了一个供个人使用的抓取工具。
wget -k -m -Dwww.website.com -r -q -R gif,png,jpg,jpeg,GIF,PNG,JPG,JPEG,js,rss,xml,feed,.tar.gz,.zip,rar,.rar,.php,.txt -t 1 http://www.website.com/ &
网站中的帖子示例网址为http://www.website.com/post-one/
,每个帖子在网址末尾都有一个斜杠。
保存后,Wget将创建:
www.website.net/post-one
www.website.net/post-one/index.html
第一行是文件夹,第二行是我正在寻找的实际HTML文件。问题是,Wget将为每个帖子创建一个文件夹,这使得处理数据变得更加困难。
我希望Wget创建www.website.net/post-one
post-one
这是HTML文件,而不是为每个帖子创建文件夹。
我尝试了很多没有运气的方法。使用没有内容的-R .html
结果文件夹。
答案 0 :(得分:0)
我使用的wget支持以下目录选项:
-nd, --no-directories don't create directories.
-x, --force-directories force creation of directories.
-nH, --no-host-directories don't create host directories.
--protocol-directories use protocol name in directories.
-P, --directory-prefix=PREFIX save files to PREFIX/...
--cut-dirs=NUMBER ignore NUMBER remote directory component
也许-nd OR -P可以帮到你。
否则,在使用现有wget下载所有文件后,shell脚本可以轻松地将文件转换为单级目录。
#!/bin/bash
cd www.website.net
for d in $( find . -type -d -print ) ; do
if [[ -f $d/index.html ]] ; then
echo mv $d/index.html $.html && echo rmdir $d
fi
done
当你确定循环正在产生适合你的输出时,删除echo
。
我希望这会有所帮助。
P.S。因为您似乎是新用户,如果您得到的答案可以帮助您,请记住将其标记为已接受,并且/或者给它一个+(或 - )作为有用的答案。