爬到如题的一些关于时间的描述,不知道如何转换为当前计算机的时间
|
dxwwymFeb 24, 2017 via iPhone
1
页面源码应该是时间,用 js 改的相对时间
|
|
ineedFeb 24, 2017 via Android
2
js 可以用 moment.js
|
|
c4pt0rFeb 24, 2017
4
那么简单的文法,手写一下 parser 咯,前段时间刚好写了个简单的 lexer 和 parser
https://github.com/c4pt0r/calbot |
|
slysly759Feb 24, 2017 via Android
6
懒的后端不写直接传 json 带时间戳
前端 js 转换 if 判断 勤快点的就后台梳理这么写的 反正我就是这么写的 不知道你为啥有这个需求。。。 |
|
chromingFeb 24, 2017 via iPhone
8
爬虫爬取网页会遇到这样的处理需求。没查过有没有现成轮子,要自己写的话就是匹配一下文字再转换就可以了
|
|
sfree2005Feb 24, 2017 via iPhone
9
我没有写过爬虫,但如果可能,直接爬服务器返回的 json ,时间戳一般可以在里面找到。我写后端的时候就返回时间戳,到了前端我会用 moment.js 转成“ 3 小时前”之类的表达
|
|
fyFeb 24, 2017
10
实际上你爬虫爬这种数据,多半能在目标附近找到一个标准时间或者是时间戳。
可以简单 parse 一下,然后用 pytime 这个库走一波就行了。 |
|
noNOnoFeb 24, 2017
11
如果可以到数据库,那么同时保存一个入库时间,用 sql 处理>入库时间减去'N'分钟 where 包含 '分钟前'
以此类推就可以了 |
|
noNOnoFeb 24, 2017
13
你是不是抓的视频网站。。。。
|
|
BiggerLongerFeb 24, 2017 via Android
15
python arrow
|
|
noNOnoFeb 24, 2017
16
那就 同时获取你爬取到那条数据的时间,然后减去 'X 小时' 就可以了。就是要加个计算,我目前就是这样在数据库层面离线处理
|
|
sfree2005Feb 24, 2017 via iPhone
17
@devzero 你看网站 HTML 源码是写死的 但有没有查过 Chrome dev tool 里面的 network 标签?如果这里面也没有那只能肯定那个是后端处理了。即使你通过转换,得到的时间都只是大概的
|
|
HanSonJFeb 24, 2017
18
|
|
HanSonJFeb 24, 2017
19
没看认真题主问题 - -, 忽略我。。。
|
|
20
@chroming 刚写了一个工具,用来将自然语言中的时间信息提取出来,再转化成具体的时间,可以参考一下:
https://github.com/polyrabbit/WeCron/blob/master/WeCron/wxhook/todo_parser/local_parser.py |
|
ming2050Feb 24, 2017 via iPhone
22
我更喜欢 shell
|
|
qhxinFeb 24, 2017 via Android
23
strtotime php 是世界上最好的语言
|
|
sunchenFeb 24, 2017
24
自己算一下呗,算个大概时间
|
|
FreeDogFeb 24, 2017
25
总共就那些固定格式,收集、判断、提取字符串转换下即可
|
|
FreeDogFeb 24, 2017
26
做好了可以传到 pip 或者 GitHub 上~ 应该不少人会用到
|
|
onlyhotFeb 24, 2017 via iPhone
27
已经有人说过了 我再说一遍 php 是最好的语言..
|
|
cxbigFeb 24, 2017
28
具体分析下咯
看看这个内容的背后是什么机制驱动的,如果是纯前端,多半在什么地方有时间戳,只要数据不是藏在闭包里,还是有机会拿到的 实在不行,要求不是那么精确的话,根据文法用正则翻译一下 如“一小时以前”可以变成 date.today() - timedelta(hours = 1)什么的 |
|
GG668v26Fd55CP5WFeb 24, 2017 via iPhone
29
写个 strtotime 的 PHP 脚本, Python 里调用 PHP 脚本获取结果,(逃
|
|
31
因为最终大多数都变成多少天前,所以你这个数据的精度要不了那么高吧,直接算日子,省略时间吧
|
|
34
@BiggerLonger 是用 arrow.get 么...
|
|
35
这里其实隐含了另一个问题:“ 5 分钟前”“ 3 小时前”“两天前”表示的精度是不一样的,都转化成一个精确到秒且没有其他信息的数据并不合适。
|
|
malcolmyuFeb 25, 2017
36
|
|
precisi0nuxFeb 25, 2017 via iPhone
37
@falcon05 php 有更好的实现, Carbon
|
|
ikarosFeb 25, 2017
38
我觉得问题在于不同的网站都各有一套显示规则,还不止这个显示方式,新闻抓取就这毛病
|
|
xiaonengshouFeb 25, 2017
39
竟然有人妄图让后端转换这些东西。。。如果在实际项目里,后端转换了,这个项目就废了
|
|
noNOnoFeb 25, 2017
40
@xiaonengshou 看需求,如果爬下来的数据是要离线分析用, ETL 时处理也没什么
|
|
klxq15Feb 25, 2017 via Android
41
在爬 weibo 的数据时也遇到这个问题,以前的 json 接口带时间戳,不过那个接口废了,新接口只有这样的时间
|
|
sefempFeb 25, 2017 via Android
42
如果爬的够勤快,理论上只需要处理分钟即可
|
|
southwolfFeb 25, 2017
43
@xiaonengshou 通常就是后端转换的啊
|
|
southwolfFeb 25, 2017
44
@xiaonengshou 比如最方便的 Rails 直接提供 time_ago_in_words 方法…
|
|
dofineFeb 26, 2017
46
Python 可以用 pendulum
https://github.com/sdispater/pendulum ``` >>> past = pendulum.now().subtract(minutes=2) >>> past.diff_for_humans() >>> '2 minutes ago' ``` |
|
why1Feb 26, 2017 via Android
48
爬附件的上传时间
|