2017-11-10 6 views
0

웹 사이트의 특정 섹션을 다운로드하고 싶습니다. 나는 이것을 따라갈거야 wget - Download a sub directory. 그러나 문제는 웹 사이트의 섹션에 특정 URL이 없다는 것입니다. 즉 URL은 다음과 같습니다. http://grephysics.net/ans/0177/* *는 1-100의 숫자이고 wget에서는 http://grephysics.net/ans/0177을 사용할 수 없습니다. 나는 서로 연결이 100 개 웹 페이지를 다운로드하는 방법 (즉, 이전 및 다음 버튼을 로컬 복사본에 연결한다) 나는 이것이 당신이 필요하다고 생각wget 웹 사이트의 섹션을 다운로드하십시오.

+0

잠시 후 보자. 나는 당신이 리눅스에서 bash 나 비슷한 것을 사용하고 있다고 추정했다. 'wget'을 실행하기 위해 어떤 쉘을 사용하고 있습니까? – Kallmanation

+0

이 질문에 대한 답변이 필요합니까? 'wget'을 실행하기 위해 당신은 어떤 쉘을 사용하고 있습니까? – Kallmanation

답변

0

을 :

wget -p -k http://grephysics.net/ans/0177/{1..100}

설명 :

-k는 : 지역 자산

-p

를 가리 키도록 링크를 다시 작성합니다 모든 이미지를 얻을, JS, CSS, 등 .이 재귀 다운로드 작업을하지 않았다 왜 우리는 페이지 (100)

1을 표시 한 귀하의 경우 다운로드 URL을의 범위를 지정합니다 C 페이지

{1..100}를 표시하는 데 필요한?

게시 한 링크는 좋은 첫 번째 리소스 였으므로 아마도 대부분의 사람들이 원했을 것입니다. 그러나 재귀 적으로 wget을 다운로드하는 방법은 지정된 첫 번째 페이지 (즉, 루트)를 가져 오는 것입니다. 다음 하위 페이지에 대한 링크을 따르십시오. 그러나 grephysics가 설정되는 방식은 http://grephysics.net/ans/0177이 404를 유도한다는 것입니다. 하위 페이지를 다운로드하기 위해 wget에 대한 링크가에 없습니다.


당신 wget을 지원하지 않는 경우{}

당신은 여전히 ​​다음 명령을 사용하여 동일한 결과를 가질 수

:

for i in {1..100}; do echo $i; done | wget -p -k -B http://grephysics.net/ans/0177/ -i -

설명

for i in {1..100};... :이, 우리가

-p 다음 명령의 입력으로 이전 명령의 출력을 파이프되어 보지 않은 사람을 위해 :이 값을 1

| (100)에 인쇄됩니다 모든 이미지를 얻을 수 로컬 복사본

-B

를 가리 키도록 링크를 다시 작성 : 등 JS, CSS는, 페이지

-k를 표시하는 데 필요한 -i 옵션과 함께 사용할 수있는 기본 URL을 지정

-i : 파일에서 가져올 URL 목록을 읽습니다. 우리가 '파일'-을 지정 했으므로 stdin에서 읽습니다.

그래서 우리는 1에서 100까지의 값을 읽고 기본 URL http://grephysics.net/ans/0177/에 추가하고 그 URL과 모든 애셋을 가져 와서 오프라인에서 찾아 볼 수 있도록 링크를 다시 작성합니다.

+0

실행 해 보았습니까?이 기능은 저에게 적합하지 않습니다. – Eular

+0

네, 저에게 도움이되었는데, 어떤 오류가 있습니까? – Kallmanation

+0

'wget -p -k http://grephysics.net/ans/0177/{1..100} --2017-11-11 18 : 41 : 13-- http://grephysics.net/ans /0177/%7B1..100%7D grephysics.net (grephysics.net) 해결 중 ... 64.150.181.80 grephysics.net (grephysics.net)에 연결 | 64.150.181.80 | : 80 ... 연결됨 . HTTP 요청을 보냈습니다. 응답을 기다리는 중 ... 404을 찾을 수 없습니다. 2017-11-11 18:41:14 오류 404 : 찾을 수 없습니다. 0 초에 0 개 파일의 변환 된 링크입니다. ' – Eular