2016-03-24 2 views
1

Я знаю, тип содержимого может быть получен изКак получить тип содержимого из селена page_source

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

Теперь мне нужно выполнить код JS, так я выбираю селен с Phantomjs для извлечения веб-страницы.

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

Как я могу получить контент-источник из источника, не загружая веб-страницу дважды? Я знаю, что могу сохранить response.read() как html-файл, а затем драйвер визуализировать локальный html-файл, не загружая его снова. Однако это слишком медленно. Какие-либо предложения?

ответ

1

Селен не получает заголовки, но вы можете просто попросить голова запросов:

import requests 

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

Вы можете использовать httplib2, urliib2 и т.д .. Есть множество answers here показывает, как запросить голова с различной LIBS.

+1

Thx! это действительно помогает. – SimmerChan

+0

Не беспокойтесь, запрос главы должен быть довольно эффективным. –