2016-03-24 3 views
1

erhalten weiß, dass ich das Content-Type vonWie content-type von Selen page_source

response = urllib2.urlopen(url) 
content-type = response.info().getheader('Content-type') 

Jetzt bekommen werden kann, muss ich js Code auszuführen, so wähle ich Selen mit PhantomJS auf dem Web-Seite zu holen.

driver = webdriver.PhantomJS() 
driver.get(url) 
source = driver.page_source 

Wie kann ich den Inhaltstyp aus der Quelle abrufen, ohne die Webseite zweimal herunterzuladen? Ich weiß, dass ich die response.read() als HTML-Datei speichern kann, und dann den Treiber die lokale HTML-Datei rendern, ohne sie erneut herunterzuladen. Es ist jedoch zu langsam. Irgendwelche Vorschläge?

Antwort

1

Selen bekommen nicht die Header, aber Sie können fordern Sie einfach den Kopf mit Anfragen:

import requests 

print(requests.head(url).headers["Content-Type"]) 

Sie httplib2 verwenden können, urliib2 etc .. gibt es zahlreiche answers here zeigt, wie Sie den Kopf mit verschiedenen Libs zu beantragen.

+1

Thx! es hilft wirklich. – SimmerChan

+0

Keine Sorge, eine Kopfanfrage sollte ziemlich effizient sein. –

Verwandte Themen