8

我想写一个简单的网络蜘蛛或者只是用来wget从谷歌学者下载 pdf 结果。这实际上是一种获取研究论文的好方法。

我已阅读有关 stackoverflow 的以下页面:

使用 wget 抓取网站并限制抓取的链接总数

网络蜘蛛与 Wget 的蜘蛛有何不同?

从网站下载所有 PDF 文件

如何使用 wget 从网站下载所有文件(但不是 HTML)?

最后一页可能是最鼓舞人心的。我确实尝试按照wget建议使用。

因此,我的谷歌学者搜索结果页面是但没有下载任何内容。

鉴于我对 webspider 的了解程度很低,我应该怎么做才能做到这一点?我确实意识到编写蜘蛛可能非常复杂,并且是我可能不想承担的项目。如果可以使用wget,那绝对很棒。

4

1 回答 1

11
wget -e robots=off -H --user-agent="Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.3) Gecko/2008092416 Firefox/3.0.3" -r -l 1 -nd -A pdf http://scholar.google.com/scholar?q=filetype%3Apdf+liquid+films&btnG=&hl=en&as_sdt=0%2C23

需要注意的几点:

  1. 在搜索查询中使用 filetyle:pdf
  2. 一级递归
  3. - 仅接受 pdf 的 pdf
  4. -H 跨越主机
  5. -e robots=off 并使用 --user-agent 将确保获得最佳结果。Google Scholar 拒绝空白用户代理,并且 pdf 存储库可能不允许使用机器人。

当然,限制是这只会打到结果的第一页。您可以扩展递归的深度,但这会很疯狂并且会永远持续下去。我建议使用Beautiful Soup和 wget 子流程之类的组合,以便您可以策略性地解析和遍历搜索结果。

于 2012-09-05T12:24:02.530 回答