wget 的替代方案 'ERROR 403: Forbidden'

Alternatives for wget giving 'ERROR 403: Forbidden'

我正在尝试使用 wget 从多篇 Pubmed 论文中获取文本,但似乎 NCBI 网站不允许这样做。还有其他选择吗?

Bernardos-MacBook-Pro:pangenome_papers_pubmed_result bernardo$ wget -i ./url.txt
--2016-05-04 10:49:34--  http://www.ncbi.nlm.nih.gov/pmc/articles/PMC4560400/
Resolving www.ncbi.nlm.nih.gov... 130.14.29.110, 2607:f220:41e:4290::110
Connecting to www.ncbi.nlm.nih.gov|130.14.29.110|:80... connected.
HTTP request sent, awaiting response... 403 Forbidden
2016-05-04 10:49:34 ERROR 403: Forbidden.

--2016-05-04 10:49:34--  http://www.ncbi.nlm.nih.gov/pmc/articles/PMC4547177/
Reusing existing connection to www.ncbi.nlm.nih.gov:80.
HTTP request sent, awaiting response... 403 Forbidden
2016-05-04 10:49:34 ERROR 403: Forbidden.

像这样设置自定义用户代理:

wget --user-agent="Mozilla" http://www.ncbi.nlm.nih.gov/pmc/articles/PMC4560400/

我在尝试使用 wget[=25= 下载文件时收到“错误 403:禁止访问” ] 来自 Github(实际上重定向到 s3.amazonaws.com)。但它只在使用时发生:

wget -N / --timestamping

这会尝试下载远程文件 - 仅当它比文件的本地副本新时。

显然,时间戳检查被 AWS S3 禁止了。 删除 -N 标志 已解决。

请注意,您还可以通过使用 -O / --output-document=FILE 或通过使用 -P / --directory-prefix=PREFIX.

下载到不同的目录(还不包括该文件)来避免时间戳检查

也许你应该尝试用双引号将 url link 括起来,比如

wget "your_url"