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

时间:2016-05-04 07:59:28

标签: web-scraping wget text-mining

我试图使用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.

2 个答案:

答案 0 :(得分:8)

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

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

答案 1 :(得分:0)

尝试从Github用 wget 下载文件时,我收到“ 错误403:禁止 ”(重定向到s3.amazonaws.com其实)。但这仅在使用时发生:

wget -N / --timestamping

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

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

请注意,您还可以避免使用-O / --output-document=FILE或通过使用-P / --directory-prefix=PREFIX下载到其他目录(尚不包含文件)来检查时间戳。