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