【发布时间】:2014-03-14 22:31:13
【问题描述】:
我想知道是否可以编写一个脚本,以编程方式遍历整个网页并自动下载所有 .pdf 文件链接。在我开始自己尝试之前,我想知道这是否可能。
问候
【问题讨论】:
-
绝对有可能。
我想知道是否可以编写一个脚本,以编程方式遍历整个网页并自动下载所有 .pdf 文件链接。在我开始自己尝试之前,我想知道这是否可能。
问候
【问题讨论】:
是的,这是可能的。这称为网络抓取。对于 Python,有各种包可以帮助解决这个问题,包括 scrapy、beautifulsoup、mechanize 以及许多其他包。
【讨论】:
是的,这是可能的。
在python中很简单;
urllib 将帮助您从网上下载文件。
例如:
import urllib
urllib.url_retrive("http://example.com/helo.pdf","c://home")
现在您需要编写一个脚本来查找以 .pdf 结尾的链接。
示例 html 页面: Here's a link
您需要下载 html 页面并使用 htmlparser 或使用正则表达式。
【讨论】:
是的,这是可能的。 下载 pdf 文件,你甚至不需要使用 Beautiful Soup 或 Scrapy。
从 python 下载非常简单 建立所有linkpdf链接的列表并下载它们
参考如何建立链接列表: http://www.pythonforbeginners.com/code/regular-expression-re-findall
如果您需要浏览多个链接页面,那么其中一个框架可能会有所帮助 如果您愿意在这里构建自己的爬虫,这是一个很棒的教程,顺便说一句,这也是 Python 的一个很好的介绍。 https://www.udacity.com/course/viewer#!/c-cs101
【讨论】:
使用urllib 下载文件。例如:
import urllib
urllib.urlretrieve("http://...","file_name.pdf")
查找以 .pdf 结尾的链接的示例脚本: https://github.com/laxmanverma/Scripts/blob/master/samplePaperParser/DownloadSamplePapers.py
【讨论】:
是的,这在 Python 中是可能的。您可以获取 html 源代码,使用 BeautifulSoup 对其进行解析,然后找到所有标签。接下来,您可以检查以 .pdf 扩展名结尾的链接。获得所有 pdf 链接的列表后,您可以使用
wget.download(link)
或requests
详细的解释和完整的源代码可以在这里找到:
【讨论】: