python爬取网页链接和静态文件链接_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"))

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值