我尝试使用wget
从网站下载某些文件。但文件的虚拟位置可能并不代表它们的实际位置。
例如,如果文件的链接是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/
我得到 HTTP 403,所以我不确定。
如果我完全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
下载包含链接的 html 文件 (www.site.com/...)。不会下载链接指向的文件 (file.site.com/...)。严格地file.site.com
在浏览器中将我带到 403。我使用的参数是--domains site.com --accept ".txt" --accept ".html" www.site.com file.site.com
我对 txt 文件感兴趣,而不是 html,但我还下载了 html 以获取链接。