from scrapy.exceptions import DropItem
class DaboPipeline(object):
def __init__(self,file_path):
self.file_path = file_path
self.f = None
@classmethod
def from_crawler(cls, crawler):
"""
初始化时候,用于创建pipeline对象
:param crawler:
:return:
"""
# val = crawler.settings.getint('MMMM')
file_path = crawler.settings.get('FILE_PATH')
return cls(file_path)
def process_item(self, item, spider):
"""
:param item:
:param spider:
:return:
"""
# 3.打开
# f = open('news.log', mode='a+')
# f.write(item.url,item.content)
# f.close()
if spider.name == "renjian":
self.f.write(item['url']+'\n')
# return item
#如果不想下一个pipelines接收参数直接抛错
raise DropItem()
def open_spider(self, spider):
"""
爬虫开始执行时,调用
:param spider:
:return:
"""
self.f = open(self.file_path,'a+')
def close_spider(self, spider):
"""
爬虫关闭时,被调用
:param spider:
:return:
"""
self.f.close()
pipelines内置方法
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
推荐阅读更多精彩内容
- 1.forEach —— 遍历 forEach遍历数组,对原来的数据操作,改变原数组 函数声明: forEach方...
- Encode String To Bytes,将字符串(Unicode)编码为字节码(Bytes)。 注意:err...
- join()——将数组中的所有元素转化为字符串并连接在一起,返回最后生成的字符串。不修改原始数组 reverse(...