이 블로그에 대한 오프라인 미러를 만들고 싶습니다.http://blogs.gamefilia.com/lord-areg
나는 다음을 사용하고 있습니다 :
wget --recursive --level=0 --span-hosts --no-clobber --page-requisites --html-extension --convert-links --no-parent -e robots=off --wait=4 --random-wait --adjust-extension --no-check-certificate --user-agent=Mozilla http://blogs.gamefilia.com/lord-areg/
하지만 나는 하위 디렉토리만 얻을 수 있고 index.html
, 하위 디렉토리를 얻을 수 없으며...모두 필요합니다.
예를 들어:
lord-areg/15-01-2012/47781/boveda-de-articulos-de-silent-hill
lord-areg/01-02-2012/48151/eddie-dombrowski-la-pistola-y-la-pizza-misteriosa
등.
답변1
실행하면 -d
무슨 일이 일어나고 있는지 보여줍니다.
Location: http://blogs.gamefilia.com/lord-areg [following]
....
Deciding whether to enqueue "http://blogs.gamefilia.com/lord-areg".
Going to "" would escape "lord-areg" with no_parent on.
Decided NOT to load it.
Redirection "http://blogs.gamefilia.com/lord-areg" failed the test.
리디렉션된 페이지가 지정된 영역 외부에 있으므로 페이지를 검색하더라도 반복 시 해당 내용을 따르지 않습니다.
마지막 것을 제거한다는 것은 /
리디렉션이 없음을 의미하지만, 발견한 바와 같이 wget이 이를 lord-areg
디렉토리로 취급하지 않고 이전 디렉토리를 사용하므로 /
전체 사이트가 일치함을 의미합니다.
HTTP(및 HTTPS)의 경우 "--no-parent"에 대해 후행 슬래시가 매우 중요합니다. HTTP에는 "디렉터리"라는 개념이 없습니다. Wget은 사용자가 무엇이 디렉터리이고 무엇이 아닌지를 나타냅니다. 존재하다'http://foo/bar/', Wget은 'bar'가 디렉토리라고 생각하고 'http://foo/bar'(후행 슬래시 없음), 'bar'는 파일 이름으로 처리됩니다(따라서 '--no-parent'는 상위가 '/'이므로 의미가 없습니다).
따라서 다른 방법으로 결과를 제한해야 합니다. -I lord-areg
거의 작동하지만 양식의 페이지를 건너뜁니다 /lord-areg?page=1
. 이를 일치시키려면 필수 URL을 더 자세히 설명해 주세요.
--accept-regex '^http:\/\/blogs\.gamefilia\.com\/lord-areg[?/]'