http://romhustler.net/rom/ps2/final-fantasy-x-usa< - 家长网址
如果您复制粘贴此网址,您将看到浏览器识别文件名称。我怎样才能获得一个bash脚本来做同样的事情?
我需要WGET第一个URL,但因为它将再增加100个项目,我无法复制粘贴每个URL。
我目前为所有文件设置了菜单。只是不知道如何单独批量下载每个文件,因为文件的URL没有匹配的模式。
*我工作菜单的比特:
#Raw gamelist grabber
w3m http://romhustler.net/roms/ps2 |cat|egrep "/5" > rawmenu.txt
#splits initial file into a files(games01) that contain 10 lines.
#-d puts lists files with 01
split -l 10 -d rawmenu.txt games
#s/ /_/g - replaces spaces with underscore
#s/__.*//g - removes anything after two underscores
select opt in\
$(cat games0$num|sed -e 's/ /_/g' -e 's/__.*//g')\
"Next"\
"Quit" ;
if [[ "$opt" =~ "${lines[0]}" ]];
then
### Here the URL needs to be grabbed ###
必须要做的是BASH。这可能吗?
答案 0 :(得分:0)
似乎romhustler.net在完整下载页面上使用了一些Javascript来隐藏页面加载后几秒钟的最终下载链接,可能是为了防止这种网页抓取。
但是,如果他们使用ZIP文件的直接链接,我们可以这样做:
# Use curl to get the HTML of the page and egrep to match the hyperlinks to each ROM
curl -s http://romhustler.net/roms/ps2 | egrep -o "rom/ps2/[a-zA-Z0-9_-]+" > rawmenu.txt
# Loop through each of those links and extract the full download link
while read LINK
do
# Extract full download link
FULLDOWNLOAD=`curl -s "http://romhustler.net$LINK" | egrep -o "/download/[0-9]+/[a-zA-Z0-9]+"`
# Download the file
wget "http://romhustler.net$FULLDOWNLOAD"
done < "rawmenu.txt"