我使用requests
模块和Python 2.7来构建基本的Web爬网程序。
source_code = requests.get(url)
plain_text = source_code.text
现在,在上面的代码行中,我将指定URL的源代码和其他元数据存储在source_code
变量中。现在,在source_code.text
中,.text
属性究竟是什么?它不是一个功能。我无法在文档中找到解释.text
的来源或特征的任何内容。
答案 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