【问题标题】:What are some good crawlers that can help download files有哪些不错的爬虫可以帮助下载文件
【发布时间】:2012-02-20 15:21:45
【问题描述】:

对于我的一个统计项目,我需要从谷歌专利页面随机下载几个文件,每个文件都是一个大的 zip 文件。网页链接如下:

http://www.google.com/googlebooks/uspto-patents-grants-text.html#2012

具体来说,我想随机选择 5 年(页面顶部的链接)并下载(即 5 个文件)。你们知道是否有一些适合这项任务的好包吗?

谢谢。

【问题讨论】:

  • 你为什么不直接下载所有的档案,把它们保存在磁盘上,然后做你随机的事情呢?我不知道你在用什么编程语言编写,但在 C# 中,这可以在大约 20 行代码中完成(给予或接受)。
  • 确实如此,但由于这是一个团队项目,我们希望有一些脚本可以在线选择示例并仅下载选择的示例。所有这些文件都相当大,所以我们只想抓取我们需要的东西以节省一些内存空间。

标签: web web-crawler


【解决方案1】:

该页面主要包含 zip 文件,并且查看 HTML 内容似乎应该很容易通过在候选 URL 集合中搜索 *.zip 来确定哪些链接将产生一个 zip 文件,所以这里是我会推荐:

fetch the page
parse the HTML
extract the anchor tags
for each anchor tag
    if href of anchor tag contaings "*.zip"
        add href to list of file links

while more files needed
    generate a random index i, such that i is between 0 and num links in list
    select i-th element from the links list
    fetch the zip file
    save the file to disk or load it in memory

如果您不想两次获取同一个文件,则只需从链接列表中删除该 URL,然后随机选择另一个索引(直到您有足够的文件或链接用完为止)。我不知道你的团队使用什么编程语言编写代码,但是编写一个执行上述操作的小程序应该不难。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-29
    相关资源
    最近更新 更多