不完整的响应:python3 urllib.request.urlopen()与浏览器或curl

时间:2018-11-24 11:27:49

标签: html python-3.x get request urllib

我没有从请求中获取所有html。 我尝试过的 通过使用pythons urllib获取页面的html:

import urllib.request

因为我认为响应不完整/不同的原因可能是由于缺少标题,所以我添加了“ User-Agent”和“ Content-Type”。

headers = {
 'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.102 Safari/537.36',
 'Content-Type': 'text/html'
}

data = None

这是实际的GET请求

url = 'https://example.com/stuff/'

req = urllib.request.Request(url, data, headers)

response = urllib.request.urlopen(req).read()

print(response)

问题是,通过浏览器devtools检查时,响应与实际页面相比不包含相同的html。 我特别想念以下图片:

您可能会说:“那是因为页面是由JavaScript渲染的”。 但是,为什么从终端执行一个简单的curl -x“ https://example.com/stuff/”命令会得到我在开发工具中看到的所有html? 顺便说一句。只需用Postman击中该URL即可获取整个html。

0 个答案:

没有答案