我已经提取了一个文本,这是一个日期时间从文章与scrapy,并从这个文本,我想得到的日期。文本如下所示:
" - Nov 13, 2021, 10:00 AM CST"
如何仅提取日期?即Nov 13, 2021我用来获取文本的当前脚本是
Nov 13, 2021
'datetime': response.xpath('//*[@class="article_byline"]/text()[2]').get()
先谢谢你了
jslywgbw1#
使用regex就可以了。这个模式应该可以实现\w+?\s\d\d,\s\d{4}
\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日”
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'
2条答案
按热度按时间jslywgbw1#
使用regex就可以了。这个模式应该可以实现
\w+?\s\d\d,\s\d{4}
退出:“2021年11月13日”
hgc7kmma2#
您可以使用正则表达式: