scrapy笔记——python的时间转换

简介:

 

1 import datetime
2 GMT_FORMAT = '%M %H %d %m %w'
3 datetime.datetime.utcnow().strftime(GMT_FORMAT)

 

1 #按corn格式显示当前时间
2 #minute hour day month dayofweek
3 import datetime
4 CORN_FORMAT = '%M %H %d %m %w'
5 datetime.datetime.utcnow().strftime(CORN_FORMAT)

 

操作系统:fedora  开发语言:python   爬虫框架:scrapy   数据库:mysql   数据库连接模块:mysqldb   网页生成时间和网页抓取的当前时间输入到数据库中。 在执行代码时,出现Warning: Out of range value for column ‘f_grap_time’ at row 1这样的错误。直接翻译是,数据位数超过字段能存的最大长度。

问题原因:

事实上是数据格式的问题。上传时数据直接调用了网页http头的Date和time函数返回的时间。但是数据库要求是datetime格式。   抓下的网页的 response.headers[“Date”]保存了网页的生成时间,读取出来其实就是字符串。格式类似这样“Wed, 04 Jun 2014 13:06:02 GMT’。 使用time函数得出的时间是一个浮点数,类似“1401887801.07” 数据库要求的输入格式是datetime格式,可以是11位的10进制数字,或者“2014-06-04 13:06:02“形式的字符串。

解决方法:

1 //使用strftime和strptime函数,有点类似c语言的printf和scanf形式。
2 //strftime函数可以把datetime格式转换成指定格式的字符串。
3 //strptime函数则是反过来,把字符串转换成datetime格式。
4 //两个函数都需要datetime包

 

1 #首先对于网页时间格式转换成datetime。strftime函数用法后面讲。
2 GMT_FORMAT = '%a, %d %b %Y %H:%M:%S GMT'
3 #输出格式的模式字符串
4 TIME = 'Wed, 04 Jun 2014 13:06:02 GMT'
5 #对应的时间字符串
6 datetime.datetime.strptime(TIME, GMT_FORMAT)

 

1 #当前时间可以直接使用datetime不需要time包
2 datetime.datetime.now()

 

PS:

1 #strftime用法
2 # http包头时间格式显示当前时间
3 GMT_FORMAT = '%a, %d %b %Y %H:%M:%S GMT'
4 datetime.datetime.utcnow().strftime(GMT_FORMAT)

 python的时间格式化输出对照表:

说明 符号
星期几的简写 Weekday name, abbr. %a
星期几的全称 Weekday name, full %A
月份的简写 Month name, abbr. %b
月份的全称 Month name, full %B
标准的日期的时间串 Complete date and time representation %c
十进制表示的每月的第几天 Day of the month %d
24小时制的小时 Hour (24-hour clock) %H
12小时制的小时 Hour (12-hour clock) %I
十进制表示的每年的第几天 Day of the year %j
十进制表示的月份 Month number %m
十时制表示的分钟数 Minute number %M
十进制的秒数 Second number %S
第年的第几周,把星期日做为第一天(值从0到53)Week number (Sunday first weekday) %U
十进制表示的星期几(值从0到6,星期天为0)weekday number %w
每年的第几周,把星期一做为第一天(值从0到53) Week number (Monday first weekday) %W
标准的日期串 Complete date representation (e.g. 13/01/08) %x
标准的时间串 Complete time representation (e.g. 17:02:10) %X
不带世纪的十进制年份(值从0到99)Year number within century %y
带世纪部分的十制年份 Year number %Y
时区名称,如果不能得到时区名称则返回空字符。Name of time zone %z,%Z
百分号 %%

 

转载请注明:旅途@KryptosX » scrapy笔记——python的时间转换

目录
相关文章
|
28天前
|
数据采集 存储 JSON
Python网络爬虫:Scrapy框架的实战应用与技巧分享
【10月更文挑战第27天】本文介绍了Python网络爬虫Scrapy框架的实战应用与技巧。首先讲解了如何创建Scrapy项目、定义爬虫、处理JSON响应、设置User-Agent和代理,以及存储爬取的数据。通过具体示例,帮助读者掌握Scrapy的核心功能和使用方法,提升数据采集效率。
79 6
|
29天前
|
数据采集 前端开发 中间件
Python网络爬虫:Scrapy框架的实战应用与技巧分享
【10月更文挑战第26天】Python是一种强大的编程语言,在数据抓取和网络爬虫领域应用广泛。Scrapy作为高效灵活的爬虫框架,为开发者提供了强大的工具集。本文通过实战案例,详细解析Scrapy框架的应用与技巧,并附上示例代码。文章介绍了Scrapy的基本概念、创建项目、编写简单爬虫、高级特性和技巧等内容。
57 4
|
2月前
|
搜索推荐 Python
Leecode 101刷题笔记之第五章:和你一起你轻松刷题(Python)
这篇文章是关于LeetCode第101章的刷题笔记,涵盖了多种排序算法的Python实现和两个中等难度的编程练习题的解法。
23 3
|
2月前
|
存储 开发工具 Python
【Python项目】外星人入侵项目笔记
【Python项目】外星人入侵项目笔记
41 3
|
2月前
|
存储 Python
【免费分享编程笔记】Python学习笔记(二)
【免费分享编程笔记】Python学习笔记(二)
44 0
【免费分享编程笔记】Python学习笔记(二)
|
2月前
|
算法 C++ Python
Leecode 101刷题笔记之第四章:和你一起你轻松刷题(Python)
这篇博客是关于LeetCode上使用Python语言解决二分查找问题的刷题笔记,涵盖了从基础到进阶难度的多个题目及其解法。
18 0
|
2月前
|
算法 C++ Python
Leecode 101刷题笔记之第三章:和你一起你轻松刷题(Python)
本文是关于LeetCode算法题的刷题笔记,主要介绍了使用双指针技术解决的一系列算法问题,包括Two Sum II、Merge Sorted Array、Linked List Cycle II等,并提供了详细的题解和Python代码实现。
15 0
|
2月前
|
算法 C++ 索引
Leecode 101刷题笔记之第二章:和你一起你轻松刷题(Python)
本文是关于LeetCode 101刷题笔记的第二章,主要介绍了使用Python解决贪心算法题目的方法和实例。
11 0
|
2月前
|
并行计算 Python
Python错误笔记(一):CUDA initialization: CUDA unknown error - this may be due to an incorrectly set up env
这篇文章讨论了CUDA初始化时出现的未知错误及其解决方案,包括重启系统和安装nvidia-modprobe。
150 0
|
2月前
|
索引 Python
【免费分享编程笔记】Python学习笔记(一)
【免费分享编程笔记】Python学习笔记(一)
38 0