scrapy 只从带有scrappy的文本中获取日期

lqfhib0f  于 2022-11-09  发布在  其他
关注(0)|答案(2)|浏览(144)

我已经提取了一个文本,这是一个日期时间从文章与scrapy,并从这个文本,我想得到的日期。
文本如下所示:

" - Nov 13, 2021, 10:00 AM CST"

如何仅提取日期?即Nov 13, 2021
我用来获取文本的当前脚本是

'datetime': response.xpath('//*[@class="article_byline"]/text()[2]').get()

先谢谢你了

jslywgbw

jslywgbw1#

使用regex就可以了。这个模式应该可以实现\w+?\s\d\d,\s\d{4}

import re
datetime = response.xpath('//*[@class="article_byline"]/text()[2]').get()
date = re.search(r'\w+?\s\d{1,2},\s\d{4}', datetime).group()

退出:“2021年11月13日”

hgc7kmma

hgc7kmma2#

您可以使用正则表达式:

scrapy shell file:///PATH_TO_FILE/temp.html

In [1]: response.xpath('//*[@class="article_byline"]/text()[2]').re(r'[a-zA-Z]{3} \d{1,2}, \d{4}')[0]
Out[1]: 'Nov 13, 2021'

相关问题