我在Python 2.6中使用Bing API编写了一个Web爬虫,它搜索某些文档,然后下载它们以便稍后进行分类.我一直在使用字符串方法并urllib.urlretrieve()
下载其URL以.pdf,.ps等结尾的结果,但是当文档被"隐藏"在URL之后时,我遇到了麻烦:
http://www.oecd.org/officialdocuments/displaydocument/?cote=STD/CSTAT/WPNA(2008)25&docLanguage=En
那么,有两个问题.有没有一种方法可以判断一个URL是否有一个pdf/doc等文件,如果它没有这么明确地链接到它(例如www.domain.com/file.pdf)?有没有办法让Python抓住那个文件?
编辑:感谢您的回复,其中一些建议下载文件,看看它是否是正确的类型.唯一的问题是......我不知道该怎么做(见上面的问题#2).urlretrieve(
只给出一个html文件,其href包含相同的url.
没有办法从URL中告诉它会给你什么.即使它结束.pdf
它仍然可以给你HTML或任何它喜欢的东西.
您可以执行HEAD请求并查看内容类型,如果服务器没有对您说谎,则会告诉您它是否为PDF.
或者,您可以下载它,然后确定您获得的是PDF.