注册 X
我已阅读并同意  服务条款
首页 > IT技术笔记 > 查看笔记

python爬虫判断url是html还是文件下载链接

在实际爬网页的过程中,一般的过程是一次调用下面的三个函数:

req = urllib2.Request(url)

response = urllib2.urlopen(req)

html = response.read()

所得到链接的内容就是保存在html中,然后便可以进行解析了。

但是在实际的爬虫中,我们所遇到的url不只是有html文件的,还有那些下载文件的链接,而对于这些链接对于爬取整个网络的框架是没有帮助的,不应当对其调用read函数获取内容。所以就需要对url所链接文件的类型进行判断从而过滤掉非html类型的链接。

对于文件类型的判断,是通过http header头部的Content Type项的内容来进行判断的。对于html类型Content Type的内容为“text/html”,其他的可见网址:http://tool.oschina.net/commons。判断的代码如下:

HttpMessage = response.info()

ContentType = HttpMessage.gettype()

if "text/html" != ContentType:

如果是”text/html”类型的,则使用read函数,然后进行解析,否则进行下一个url的解析


上面的方法是python2使用的urllib2,如果在python3中是使用urllib

url = 'http://pan.wouuz.com/upload/attach/20190216/1550303718687036456.rar'

resp = urllib.request.urlopen(url)

HttpMessage = resp.info()

print(HttpMessage.get("Content-Type"))



 打赏        分享



评论