所以我有一个使用这样的东西的爬虫:
#if ".mp3" in baseUrl[0] or ".pdf" in baseUrl[0]: if baseUrl[0][-4] == "." and ".htm" not in baseUrl[0]: raise Exception html = requests.get(baseUrl[0], timeout=3).text
这非常有效.会发生什么,如果.mp4或.m4a等文件进入爬虫而不是HTML页面,那么当我尝试运行脚本时,脚本会挂起并在linux中打印:
Killed
是否有更有效的方法来捕获这些非HTML页面?
您可以发送头请求并检查内容类型.如果它的text/html那么只进行
r = requests.head(url) if "text/html" in r.headers["content-type"]: html = requests.get(url).text else: print "non html page"
如果您只想提出单一要求,
r = requests.get(url) if "text/html" in r.headers["content-type"]: html = r.text else: print "non html page"