wget
를 사용하여 웹사이트에서 일부 파일을 다운로드 하려고 합니다 . 그러나 파일의 가상 위치는 실제 위치를 나타내지 않을 수 있습니다.
예를 들어 파일 링크가 이라고 해서 해당 폴더에 또는 및/또는 이라는 http://file.site.com/1746534/relativity_theory_explained.txt
실제 폴더가 있다는 의미는 아닙니다 . 실제로 브라우저에서 액세스하면 HTTP 403이 표시되므로 확실하지 않습니다.http://file.site.com/
http://file.site.com/1746534/
relativity_theory_explained.txt
http://file.site.com/
http://file.site.com/1746534/relativity_theory_explained.txt
브라우저에서 완전히 접속 하면 파일을 볼 수 있습니다. 하지만 다운로드하려는 파일의 이름은 다음과 같은 패턴의 경로 외에 무엇인지 추측할 수 없습니다.http://file.site.com/some_number/some_name.txt
Bash나 Python을 사용하여 이러한 파일을 다운로드할 수 있는 방법이 있습니까? 제가 아는 것은 경로의 시작뿐입니다.
내가 시도한 것은 다음과 같습니다.
wget \
--recursive \
--no-clobber \
--convert-links \
--restrict-file-names=windows \
--domains site.com \
-e robots=off \
-U 'Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:37.0) Gecko/20100101 Firefox/37.0' \
--accept "*.txt" \
--accept "*.html" \
--no-parent \
www.site.com file.site.com
링크(www.site.com/...)가 포함된 HTML 파일을 다운로드합니다. 링크(file.site.com/...)가 가리키는 파일은 다운로드되지 않습니다. 엄밀히 말하면 file.site.com
브라우저에서는 403으로 이동합니다. 내가 사용하는 매개변수는--domains site.com --accept ".txt" --accept ".html" www.site.com file.site.com
html이 아닌 txt 파일에 관심이 있는데, 링크를 얻기 위해 html도 다운받았습니다.