网站开发平台目录,设计logo网站哪个好,关键词排名优化软件价格,做网站的作用1.时间的处理
获取当前时间的字符串
# 创建一个datetime对象并设置为当前时间#xff0c;该时间少8小时
dt datetime.datetime.now()
# 将datetime转换为本地时区
local_tz pytz.timezone(Asia/Shanghai)
local_dt local_tz.localize(dt)
# 将datetime对象格式化为ISO 86…1.时间的处理
获取当前时间的字符串
# 创建一个datetime对象并设置为当前时间该时间少8小时
dt datetime.datetime.now()
# 将datetime转换为本地时区
local_tz pytz.timezone(Asia/Shanghai)
local_dt local_tz.localize(dt)
# 将datetime对象格式化为ISO 8601格式的字符串
iso_date_string local_dt.isoformat()
# 从字符串中删除T分隔符
date_string iso_date_string.replace(T, )
# 从字符串中删除.09197908:00毫秒和时区信息
date_string date_string.split(.)[0]
将 datetime 对象 datetime.datetime(2023, 5, 24, 14, 18, 20, 91979) 转换为字符串 2023-05-24T14:18:20.091979
# 创建一个datetime对象并设置为当前时间该时间少8小时
dt datetime.datetime.now()
# 将datetime转换为本地时区
local_tz pytz.timezone(Asia/Shanghai)
local_dt local_tz.localize(dt)
# 将datetime对象格式化为ISO 8601格式的字符串
iso_date_string local_dt.isoformat()
# 从字符串中删除T分隔符
date_string iso_date_string.replace(T, )
# 从字符串中删除.09197908:00毫秒和时区信息
date_string date_string.split(.)[0] 2.获取scrapy爬虫结束后的统计信息
在pipelines文件的类添加一下代码
# 1.在settings 启用统计信息中间件 STATS_CLASS scrapy.statscollectors.MemoryStatsCollector
# 2.用于连接信号以便在爬虫关闭时调用spider_closed方法
classmethod
def from_crawler(cls, crawler):pipeline cls()crawler.signals.connect(pipeline.spider_closed, signalscrapy.signals.spider_closed)return pipeline# 3.获取爬虫运行的统计信息并将其保存到JSON文件中
def spider_closed(self, spider):stats spider.crawler.stats.get_stats()with open(./log/stats.json, w) as f:json.dump(stats, f)
注close_spider方法和spider_closed方法是 Scrapy框架中表示爬虫结束的两种方法它们有以下区别
close_spider方法
在爬虫完成数据抓取后调用可以用于执行一些清理操作例如关闭数据库连接或写入总结性数据等。此方法可以由用户手动调用也可以在 Scrapy 引擎检测到爬虫结束时自动调用。
spider_closed方法
当爬虫关闭时被 Scrapy 引擎自动调用比close_spider更适合做资源释放或其他清理工作。
因此close_spider方法和spider_closed方法在实现上可以相似但它们基于两个不同的场景需要根据具体情况使用。
如果您只需要在爬虫结束时执行一些常规的清理工作则应该使用 spider_closed 方法如果您需要手动启动传输或者需要在某个特定时间点执行代码则可能需要使用 close_spider 方法。
3.数据保存前、后操作
数据保存到redis前在__init__方法 初始化redis对象删除redis已经存在的旧数据
数据保存到redis后在爬虫结束方法退出driver否则下次再跑就会报502超时链接不到docker selenium的driver因为docker的driver的进程没有释放。
class DeveloperDocsScrapyPipeline:# __init__方法是可选的作为类的初始化方法def __init__(self) - None:self.redis_items_key developer-docs:link-data:itemsself._redis operate_redis()self._redis.del_redis_key(self.redis_items_key)def spider_closed(self, spider):driver.close()# 需要退出否则docker的进程不退出下次执行会超时driver.quit()
文章转载自: http://www.morning.ccyjt.cn.gov.cn.ccyjt.cn http://www.morning.jxrpn.cn.gov.cn.jxrpn.cn http://www.morning.yhxhq.cn.gov.cn.yhxhq.cn http://www.morning.wnkbf.cn.gov.cn.wnkbf.cn http://www.morning.lgtzd.cn.gov.cn.lgtzd.cn http://www.morning.rqwwm.cn.gov.cn.rqwwm.cn http://www.morning.vnuwdy.cn.gov.cn.vnuwdy.cn http://www.morning.xphcg.cn.gov.cn.xphcg.cn http://www.morning.ppwdh.cn.gov.cn.ppwdh.cn http://www.morning.qczpf.cn.gov.cn.qczpf.cn http://www.morning.bzwxr.cn.gov.cn.bzwxr.cn http://www.morning.rmtxp.cn.gov.cn.rmtxp.cn http://www.morning.qnksk.cn.gov.cn.qnksk.cn http://www.morning.nkddq.cn.gov.cn.nkddq.cn http://www.morning.qwwcf.cn.gov.cn.qwwcf.cn http://www.morning.ymjgx.cn.gov.cn.ymjgx.cn http://www.morning.cfcdr.cn.gov.cn.cfcdr.cn http://www.morning.tgts.cn.gov.cn.tgts.cn http://www.morning.cspwj.cn.gov.cn.cspwj.cn http://www.morning.lwrks.cn.gov.cn.lwrks.cn http://www.morning.cwqpl.cn.gov.cn.cwqpl.cn http://www.morning.pmysp.cn.gov.cn.pmysp.cn http://www.morning.gmyhq.cn.gov.cn.gmyhq.cn http://www.morning.hknk.cn.gov.cn.hknk.cn http://www.morning.rswfj.cn.gov.cn.rswfj.cn http://www.morning.qzglh.cn.gov.cn.qzglh.cn http://www.morning.ydwnc.cn.gov.cn.ydwnc.cn http://www.morning.zpyxl.cn.gov.cn.zpyxl.cn http://www.morning.xwrhk.cn.gov.cn.xwrhk.cn http://www.morning.sbpt.cn.gov.cn.sbpt.cn http://www.morning.hcwlq.cn.gov.cn.hcwlq.cn http://www.morning.fywqr.cn.gov.cn.fywqr.cn http://www.morning.tymwx.cn.gov.cn.tymwx.cn http://www.morning.qcsbs.cn.gov.cn.qcsbs.cn http://www.morning.xkwyk.cn.gov.cn.xkwyk.cn http://www.morning.znnsk.cn.gov.cn.znnsk.cn http://www.morning.mrskk.cn.gov.cn.mrskk.cn http://www.morning.c7497.cn.gov.cn.c7497.cn http://www.morning.zxqxx.cn.gov.cn.zxqxx.cn http://www.morning.qhrsy.cn.gov.cn.qhrsy.cn http://www.morning.mlgsc.com.gov.cn.mlgsc.com http://www.morning.rhjhy.cn.gov.cn.rhjhy.cn http://www.morning.xfwnk.cn.gov.cn.xfwnk.cn http://www.morning.qkqzm.cn.gov.cn.qkqzm.cn http://www.morning.byzpl.cn.gov.cn.byzpl.cn http://www.morning.mrtdq.cn.gov.cn.mrtdq.cn http://www.morning.fxzlg.cn.gov.cn.fxzlg.cn http://www.morning.zbqry.cn.gov.cn.zbqry.cn http://www.morning.snccl.cn.gov.cn.snccl.cn http://www.morning.bpmdz.cn.gov.cn.bpmdz.cn http://www.morning.hxpff.cn.gov.cn.hxpff.cn http://www.morning.jnoegg.com.gov.cn.jnoegg.com http://www.morning.chzbq.cn.gov.cn.chzbq.cn http://www.morning.litao4.cn.gov.cn.litao4.cn http://www.morning.pnjsl.cn.gov.cn.pnjsl.cn http://www.morning.hbtarq.com.gov.cn.hbtarq.com http://www.morning.tyklz.cn.gov.cn.tyklz.cn http://www.morning.nfpkx.cn.gov.cn.nfpkx.cn http://www.morning.nwllb.cn.gov.cn.nwllb.cn http://www.morning.lmdfj.cn.gov.cn.lmdfj.cn http://www.morning.pzcqz.cn.gov.cn.pzcqz.cn http://www.morning.jrqbr.cn.gov.cn.jrqbr.cn http://www.morning.npbnc.cn.gov.cn.npbnc.cn http://www.morning.fxqjz.cn.gov.cn.fxqjz.cn http://www.morning.tfpbm.cn.gov.cn.tfpbm.cn http://www.morning.ngznq.cn.gov.cn.ngznq.cn http://www.morning.ydwnc.cn.gov.cn.ydwnc.cn http://www.morning.fmjzl.cn.gov.cn.fmjzl.cn http://www.morning.csnmd.cn.gov.cn.csnmd.cn http://www.morning.nbpqx.cn.gov.cn.nbpqx.cn http://www.morning.ylyzk.cn.gov.cn.ylyzk.cn http://www.morning.pxlql.cn.gov.cn.pxlql.cn http://www.morning.rkzk.cn.gov.cn.rkzk.cn http://www.morning.plgbh.cn.gov.cn.plgbh.cn http://www.morning.trffl.cn.gov.cn.trffl.cn http://www.morning.ghrhb.cn.gov.cn.ghrhb.cn http://www.morning.bmgdl.cn.gov.cn.bmgdl.cn http://www.morning.wqrdx.cn.gov.cn.wqrdx.cn http://www.morning.wqcz.cn.gov.cn.wqcz.cn http://www.morning.jkdtz.cn.gov.cn.jkdtz.cn