所以我有一个使用这样的东西的爬虫:
#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页面?
答案 0 :(得分:5)
您可以发送头部请求并检查内容类型。如果它的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"