用Scrapy在Python中提取部分文本字段

2024-05-02 00:33:32 发布

您现在位置:Python中文网/ 问答频道 /正文

用刮刀刮了一个刮板。以下是我想摘录的:

Friday March 14, 2014

当我抓取这个div中的内容时(不是在段落标记中或任何我可以更具体地使用的内容)使用以下命令:

^{pr2}$

我得到的是:

\n    \n        Last Updated: Friday, March 14, 2014 \n        ", "\n            ", "\n            \n            ", "\n            ", "\n", "            \n    

那么在这个例子中,我如何抛弃周五之前和2014年之后的一切呢?我花了好几个小时玩一些正则表达式,但在我的一生中,似乎找不到一个很好的例子来说明在处理字母而不是数字时,或者更糟的是,一些不涉及确切的空间和范围的东西,因为有时它写着“Last Updated:”,有时它说“Updated:”,这让我陷入了一个看似不寻常的境地。在


Tags: 命令刮板div内容字母数字例子last
1条回答
网友
1楼 · 发布于 2024-05-02 00:33:32

可以使用regex从字符串中提取日期,例如:

>>> import re
>>> s = '\n    \n        Last Updated: Friday, March 14, 2014 \n        ", "\n '
>>> re.search('Updated: ([\w, ]+)', s).group(1).strip()
'Friday, March 14, 2014'

其中([\w, ]+)是与1个或多个字母数字字符(以及_)、逗号或空格匹配的保存组。在

希望有帮助。在

相关问题 更多 >