目录

request对象

response对象

日志配置


request对象

from scrapy.http.request import Request

"""
class Request(object_ref):

    def __init__(self, url, callback=None, method='GET', headers=None, body=None,
                 cookies=None, meta=None, encoding='utf-8', priority=0,
                 dont_filter=False, errback=None, flags=None, cb_kwargs=None):
                 
        scrapy.http.Request类是scrapy框架中request的基类。其参数如下:
        url(str) - 此请求的URL
        callback(callable)- 回调函数
        method(str) - 此请求的HTTP方法。默认为'GET'。
        meta(dict) - Request.meta属性的初始值。
        body(str 或unicode) - 请求体。如果没有传参,默认为空字符串。
        headers(dict) - 此请求的请求头。
        cookies - 请求cookie。
        encoding(str) - 此请求的编码(默认为'utf-8')此编码将用于对URL进行百分比编码并将body转换为str(如果给定unicode)。
        priority(int) - 此请求的优先级(默认为0)。
        dont_filter(boolean) - 表示调度程序不应过滤此请求。
        errback(callable) - 在处理请求时引发任何异常时将调用的函数。
        flags(list) - 发送给请求的标志,可用于日志记录或类似目的。
"""
# 构造请求
req = Request(url='http://www.baidu.com',headers={"name":'瑞'})

"""
请求对象的属性和方法:
url :包含此请求的URL的字符串。该属性是只读的。更改请求使用的URL replace()。
method  :表示请求中的HTTP方法的字符串。
headers :类似字典的对象,包含请求头。
body :包含请求正文的str。该属性是只读的。更改请求使用的URL replace()。
meta :包含此请求的任意元数据的字典。
copy() :返回一个新的请求,改请求是此请求的副本。
replace :([ URL,method,headers,body,cookies,meta,encoding,dont_filter,callback,errback]) ,替换原来request对象中的参数并返回一个更新后的request对象
"""

print('返回请求的url:',req.url)
print('返回构造的请求头信息:',req.headers)
print('重构请求的url结果:',req.replace(url='https://baidu.com'))

response对象

from scrapy.http.response import Response,text

'''
class Response(object_ref):

    def __init__(self, url, status=200, headers=None, body=b'', flags=None,
                 request=None, certificate=None, ip_address=None):
                
    url(字符串) - 此响应的URL  
    status(整数) - 响应的HTTP状态。默认为200。
    headers(dict) - 此响应的响应头。dict值可以是字符串(对于单值标头)或列表(对于多值标头)。
    body(字节) - 响应主体。要将解码后的文本作为str(Python 2中的unicode)访问,您可以使用response.text来自编码感知的 Response子类,例如TextResponse。
    flags(列表) - 是包含Response.flags属性初始值的列表 。如果给定,列表将被浅层复制。
    request(Requestobject) - Response.request属性的初始值。这表示Request生成此响应的内容。
'''

# 构造响应对象
rps = Response(url='http://www.baidu.com',request=req)

"""
响应对象的方法和属性:
url、status、headers、body、request、meta、flags、copy()、
replace([ url,status,headers,body,request,flags,cls ] )、
urljoin(url )、follow(url)、

"""
print(rps.status)

日志配置

LOG_FILE = 'bd.log'		# 日志输出文件,如果为None,就打印在控制台,项目中常用配置
LOG_ENABLED = True	        # 是否启用日志,(是否控制台输出日志),默认True
# LOG_ENCODING   	# 日期编码,默认utf-8
# LOG_LEVEL	# 日志等级,默认debug,项目中常用配置
# LOG_FORMAT	# 日志格式
# LOG_DATEFORMAT	# 日志日期格式
LOG_STDOUT=True    # 日志标准输出,默认False,如果True所有标准输出都将写入日志中
LOG_SHORT_NAMES = True      # 短日志名,默认为False,如果True将不输出组件名