代码之家  ›  专栏  ›  技术社区  ›  sudobangbang

Python/Java脚本,用于从网站下载所有.pdf文件

  •  12
  • sudobangbang  · 技术社区  · 10 年前

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

    当做

    5 回复  |  直到 10 年前
        1
  •  9
  •   kender99    10 年前

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

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

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

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

        2
  •  7
  •   Brian Tompsett - 汤莱恩 Tejas G R    9 年前

    是的,这是可能的。

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

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

    现在你需要制作一个脚本,找到以.pdf结尾的链接。

    示例html页面: Here's a link

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

        3
  •  4
  •   Will    10 年前

    是的,这是可能的。这被称为web刮取。对于Python,有各种包可以帮助实现这一点,包括剪贴画、美化组、机械化以及其他许多包。

        4
  •  1
  •   Laxman    6 年前

    使用 urllib 下载文件。例如:

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

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

        5
  •  1
  •   x89    4 年前

    是的,这在Python中是可能的。您可以获取html源代码,使用BeautifulSoup解析它,然后查找所有标记。接下来,您可以检查以.pdf扩展名结尾的链接。一旦你有了所有pdf链接的列表,你可以使用

    wget.download(link)
    

    requests

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

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