【问题标题】:Python/Java script to download all .pdf files from a website用于从网站下载所有 .pdf 文件的 Python/Java 脚本
【发布时间】:2014-03-14 22:31:13
【问题描述】:

我想知道是否可以编写一个脚本,以编程方式遍历整个网页并自动下载所有 .pdf 文件链接。在我开始自己尝试之前,我想知道这是否可能。

问候

【问题讨论】:

  • 绝对有可能。

标签: java python html download


【解决方案1】:

是的,这是可能的。这称为网络抓取。对于 Python,有各种包可以帮助解决这个问题,包括 scrapy、beautifulsoup、mechanize 以及许多其他包。

【讨论】:

    【解决方案2】:

    是的,这是可能的。

    在python中很简单; urllib 将帮助您从网上下载文件。 例如:

    import urllib
    urllib.url_retrive("http://example.com/helo.pdf","c://home")
    

    现在您需要编写一个脚本来查找以 .pdf 结尾的链接。

    示例 html 页面: Here's a link

    您需要下载 html 页面并使用 htmlparser 或使用正则表达式。

    【讨论】:

    • 链接失效
    【解决方案3】:

    是的,这是可能的。 下载 pdf 文件,你甚至不需要使用 Beautiful Soup 或 Scrapy。

    从 python 下载非常简单 建立所有linkpdf链接的列表并下载它们

    参考如何建立链接列表: http://www.pythonforbeginners.com/code/regular-expression-re-findall

    如果您需要浏览多个链接页面,那么其中一个框架可能会有所帮助 如果您愿意在这里构建自己的爬虫,这是一个很棒的教程,顺便说一句,这也是 Python 的一个很好的介绍。 https://www.udacity.com/course/viewer#!/c-cs101

    【讨论】:

      【解决方案4】:

      使用urllib 下载文件。例如:

      import urllib
      
      urllib.urlretrieve("http://...","file_name.pdf")
      

      查找以 .pdf 结尾的链接的示例脚本: https://github.com/laxmanverma/Scripts/blob/master/samplePaperParser/DownloadSamplePapers.py

      【讨论】:

        【解决方案5】:

        是的,这在 Python 中是可能的。您可以获取 html 源代码,使用 BeautifulSoup 对其进行解析,然后找到所有标签。接下来,您可以检查以 .pdf 扩展名结尾的链接。获得所有 pdf 链接的列表后,您可以使用

        wget.download(link)
        

        requests

        详细的解释和完整的源代码可以在这里找到:

        https://medium.com/@dementorwriter/notesdownloader-use-web-scraping-to-download-all-pdfs-with-python-511ea9f55e48

        【讨论】:

          猜你喜欢
          • 2019-07-04
          • 1970-01-01
          • 1970-01-01
          • 2020-10-10
          • 2015-05-25
          • 2019-12-10
          • 1970-01-01
          • 2011-05-29
          • 1970-01-01
          相关资源
          最近更新 更多