请求:.text格式的说明

时间:2016-01-15 20:38:53

标签: python python-2.7 web-crawler python-requests

我使用requests模块和Python 2.7来构建基本的Web爬网程序。

source_code = requests.get(url)
plain_text = source_code.text

现在,在上面的代码行中,我将指定URL的源代码和其他元数据存储在source_code变量中。现在,在source_code.text中,.text属性究竟是什么?它不是一个功能。我无法在文档中找到解释.text的来源或特征的任何内容。

2 个答案:

答案 0 :(得分:2)

requests.get()返回 Response object ;它是具有.text属性的对象;它不是不是 URL的'源代码',它是一个允许您访问响应的源代码(正文)以及其他信息的对象。 Response.text属性为您提供响应正文,解码为unicode

请参阅快速入门文档的Response Content section

  

当您发出请求时,Requests会根据HTTP标头对响应的编码进行有根据的猜测。访问r.text时会使用请求猜到的文本编码。

有关详细信息,请参阅API文档,请参阅Response.text entry

  

响应的内容,以unicode为单位。

     

如果Response.encoding为None,将使用chardet猜测编码。

     

响应内容的编码仅根据HTTP标头确定,遵循RFC 2616到字母。如果您可以利用非HTTP知识来更好地猜测编码,则应在访问此属性之前适当地设置r.encoding

您还可以使用Response.content作为原始字节访问未解码的响应正文。

答案 1 :(得分:0)

在这一行

 source_code = requests.get(url)

source_code有一个response对象,而不是源代码。

应该是

response = requests.get(url)
source_code = response.text