wget이 재귀 모드에서 작동하지 않습니다

wget이 재귀 모드에서 작동하지 않습니다

GNU Wget 1.16 built on linux-gnueabihf~에Raspberry Pi 3

wget이 첫 번째 색인뿐만 아니라 전체 사이트(링크를 따라 로봇처럼 행동)를 가져오도록 하려면 어떻게 해야 합니까?

나는 시도했다:

wget -r http://aol.com
wget -r -l0 http://aol.com
wget -r -m -l0 http://aol.com

모든 명령은 동일하게 완료되었습니다.

--2017-11-29 08:05:42--  http://aol.com/
Resolving aol.com (aol.com)... 149.174.149.73, 64.12.249.135, 149.174.110.105, ...
Connecting to aol.com (aol.com)|149.174.149.73|:80... connected.
HTTP request sent, awaiting response... 301 Moved Permanently
Location: https://www.aol.com/ [following]
--2017-11-29 08:05:42--  https://www.aol.com/
Resolving www.aol.com (www.aol.com)... 34.233.220.13, 34.235.7.32, 52.6.64.98, ...
Connecting to www.aol.com (www.aol.com)|34.233.220.13|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: unspecified [text/html]
Last-modified header missing -- time-stamps turned off.
--2017-11-29 08:05:44--  https://www.aol.com/
Reusing existing connection to www.aol.com:443.
HTTP request sent, awaiting response... 200 OK
Length: unspecified [text/html]
Saving to: ‘aol.com/index.html’

aol.com/index.html                                              [  <=>                                                                                                                                      ] 359.95K   751KB/s   in 0.5s

2017-11-29 08:05:45 (751 KB/s) - ‘aol.com/index.html’ saved [368585]

FINISHED --2017-11-29 08:05:45--
Total wall clock time: 2.8s
Downloaded: 1 files, 360K in 0.5s (751 KB/s)

내가 도대체 ​​뭘 잘못하고있는 겁니까?

답변1

aol.com/index.html모든 링크가 다른 호스트를 가리키기 때문에 문제가 발생합니다 . 모든 호스트에서 반복적으로 다운로드하려면 옵션을 추가할 수 있습니다 --span-hosts. 모든 AOL 호스트를 허용하려면 옵션을 추가하는 것이 효과적인 것 같았습니다 --span-hosts '*.aol.com'.

wget --span-hosts '*.aol.com' -r http://www.aol.com

다음을 사용하여 링크를 나열할 수 있습니다.

grep -Po '(?<=href=")[^"]*' aol.com/index.html

대부분이 www.aol.com을 가리키고 있으므로 전화를 걸어도 됩니다.

wget -r http://www.aol.com

답변2

다음을 사용하면 wget웹사이트에 연결된 모든 페이지를 재귀적으로 다운로드할 수 있습니다.

wget -r $(curl http://aol.com | grep -Po '(?<=href=")[^"]*')

예제 웹사이트를 원하는 웹사이트로 바꾸세요. 이것은 다음과 같이 가져옵니다Deapth for search in a graph

일하는 방식 curl을(를) 가져올 것입니다 index.html. grep일치하여 모든 링크를 찾기 위해 파이프로 연결됩니다 href. 입력 결과는 wget변수로 제공됩니다 . wget변수에서 링크를 하나씩 가져옵니다.

관련 정보