2016-08-01 9 views
-1

Ich ersuche Ulrs mit dem Requests-Paket in Python (z. B. file = requests.get (url)). Die URLs geben keine Erweiterung an, und manchmal wird eine HTML-Datei zurückgegeben und manchmal wird eine PDF zurückgegeben.Ermitteln, ob URL eine PDF- oder HTML-Datei ist

Gibt es eine Möglichkeit festzustellen, ob es sich bei der zurückgegebenen Datei um eine PDF- oder HTML-Datei handelt? (oder allgemeiner, was das Dateiformat ist). Der Browser kann bestimmen, also nehme ich an, muss in der Antwort angegeben werden.

Antwort

3

Dies wird im Content-Type Header, entweder text/html oder application/pdf

import requests 

r = requests.get('http://example.com/file') 
content_type = r.headers.get('content-type') 

if 'application/pdf' in content_type: 
    ext = '.pdf' 
elif 'text/html' in content_type: 
    ext = '.html' 
else: 
    ext = '' 
    print('Unknown type: {}'.format(content_type)) 

with open('myfile'+ext, 'wb') as f: 
    f.write(r.raw.read()) 
finden
Verwandte Themen