如何从 selenium page_source 获取内容类型

How to get content-type from selenium page_source

我知道内容类型可以从

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

现在,我需要执行js代码,所以我选择selenium和Phantomjs来获取网页。

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

如何在不下载网页两次的情况下从源中获取内容类型?我知道我可以将 response.read() 保存为 html 文件,然后驱动程序渲染本地 html 文件而无需再次下载。然而,它太慢了。有什么建议么?

Selenium 没有得到 headers 但你可以只请求 head 请求:

import  requests

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

您可以使用 httplib2、urliib2 等。有许多 answers here 展示了如何使用各种库请求头部。