当前位置: 首页 > news >正文

合肥网站制作哪家好百度seo课程

合肥网站制作哪家好,百度seo课程,网站建设商业计划书范文,做ui的哪个威客网站比较好1.时间的处理 获取当前时间的字符串 # 创建一个datetime对象并设置为当前时间,该时间少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', ' ')
# 从字符串中删除'.091979+08: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', ' ')
# 从字符串中删除'.091979+08: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, signal=scrapy.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:items"self._redis = operate_redis()self._redis.del_redis_key(self.redis_items_key)def spider_closed(self, spider):driver.close()# 需要退出,否则,docker的进程不退出,下次执行会超时driver.quit()

http://www.yidumall.com/news/67279.html

相关文章:

  • 公司网站建立教程网站域名注册查询
  • 如何做网站图片切换友情链接2598
  • jsp 网站开发2022年免费云服务器
  • 做网站要学会什么语言今日新闻最新头条10条
  • 嘉定网站建设公司推广产品的文案
  • 海口网站制作推广企业网站建设方案模板
  • 有哪些做汽配的网站阿里云域名注册流程
  • 网站设计深圳百度竞价排名名词解释
  • 做网站需要多大空间淘宝关键词搜索工具
  • 做汽车团购的网站建设网站服务器ip查询
  • wordpress调用最近发布的文章关系网站优化公司
  • 宁波网站建设软件开发谷歌搜索入口中文
  • 商业设计网站有哪些武汉建站公司
  • 网站开发维护公司网站seo推广多少钱
  • 网站建设需要哪些技术商铺营销推广方案
  • 用易语言做抢购网站软件长沙正规seo优化公司
  • 专门做评测的网站百度极速版推广员怎么申请
  • 爱网站大全aso榜单优化
  • 公司起名查询厦门谷歌seo公司
  • 徐州金网网站建设哈尔滨百度搜索排名优化
  • 流程图制作网站网站建设服务商
  • 网站的架构与建设aso优化排名违法吗
  • 个人性质网站徐州seo顾问
  • 网站怎么能在百度搜到综合查询
  • 网站建设专家今日网站收录查询
  • 网站建设分为哪几个阶段网络整合营销策划书
  • 江西网站建设开发四川网络推广推广机构
  • 品网站建设公司百度seo关键词优化
  • 网站开发和维护微信软文怎么写
  • 腾讯云wed服务器做网站软文云