目录
Selector(response=response.text):
isinstance(item,BooksSpiderItem)
相对链接 url 变绝对链接:
response.urljoin(next_url)
next_url 为提取出来的 url 的相对链接
Selector(response=response):
selector = Selector(response=response.text)
用来解析,响应后的 HTML 源码,把 HTML 代码标准化
extract() 与 extract_first():
两者都相当于从列表里取出元素,和 .xpath[0] 效果类似
extract():用选择器提取出来想要的元素后,要使用它才能获得实际文本,获得此路径下的全部文本,返回选中内容的 Unicode 字 符串
extract_first():选择器提取出来想要的元素后,要使用它才能获得实际文本,获得此路径下的第一个文本,就是从列表中获得第 一个
isinstance(item,BooksSpiderItem)
用来判断两个类型是否相同
Request(url[,callback,method,headers,body,cookies,meta,encoding,priority,dont_filter=False,errback) 对象
priority:设置请求的优先级(默认为0),这个优先级是 scheduler 在进程中用于定义处理请求的顺序
dont_filter:标记当前请求在 scheduler 内不被过滤,但多次处理一个自定义请求时(像模拟登录,登录失败,反复登录会访问同一个请求),可以设置此参数以避免 scheduler 将请求进行冗余过滤,在使用时一定要非常小心,因为有可能会进入一个请求的死循环
meta:是一个字典,里面包含了一些元数据,我们也可以自己在请求时添加键,在 response 中具有传递性,response.meta[键名] 可以访问到对应值,scrapy 包含了如下的元数据