我有自己的 python 爬虫(基于 Udacity.com 的 CS101),试图从 download.cnet.com 下载文件(安装程序),当爬虫爬行时,我希望它像这样工作:
判断链接是否为下载链接:
response = urllib2.urlopen(' http://example.com/ ')
content_type = response.info().get('Content-Type')
打印内容类型
如果爬虫得到:
application/octet-stream
- 爬虫将从链接下载安装程序
问题是download.com似乎没有提供真正的下载链接,我的爬虫无法从他们的动态链接中找到下载链接。例如,当我尝试在 download.com 上下载 Opera 时,他们确实有这样的消息:“您的下载将在稍后开始。如果没有,请重新开始下载。” 但是当我检查“重新启动下载”链接时,我期待得到真正的下载链接(例如 download.com/blah/Opera.exe),但我得到了一些我的爬虫无法理解的奇怪地址。
所以我已经从http://googlewebmastercentral.blogspot.no/2008/09/dynamic-urls-vs-static-urls.html确认 download.com 正在使用动态链接,但是我应该怎么做才能让我的爬虫找到此链接,以便它可以从 download.com 下载安装程序?