【发布时间】:2016-07-24 18:25:33
【问题描述】:
我正在编写一个 Python 代码,使用 lxml、urllib 和 csv 来抓取 a Brazil government site 中的语音。
我能够使用 XPath 找到每个演讲的标题和链接,但不是确切的日期,因为之前没有特定的标签来表示演讲的日期。
当我使用 XPath '//span[@class="summary-view-icon"]/text() 时,刮板会带回日期、小时和单词“Página”(页面,葡萄牙语)。我知道这个 Xpath 不对,但我不知道如何只选择日期。
即使出现这个错误,我也能够将 抓取的 内容转换为列表并进行编辑以删除除日期之外的所有内容。问题在于,如下所示,最终列表中还有一些我无法删除的字符。
这里似乎有两种解决方案:正确设置 XPath 或编辑列表中的其他字符。我该怎么做?
['\n 18/12/2015\n ', '\n 21/12/2015\n ', '\n 21/12/2015\n ', '\n 22/12/2015\n ', '\n 22/12/2015\n ', '\n 22/12/2015\n ', '\n 11/01/2016\n ', '\n 19/01/2016\n ', '\n 21/01/2016\n ', '\n 26/01/2016\n ', '\n 27/01/2016\n ', '\n 27/01/2016\n ', '\n 28/01/2016\n ', '\n 01/ 02/2016\n ', '\n 01/02/2016\n ', '\n 02/02/2016\n ', '\n 02/02/2016\n ', '\n 02/02/ 2016\n ', '\n 03/02/2016\n ', '\n 03/02/2016\n ', '\n 19/02/2016\n ', '\n 19/02/2016\n ', '\n 22/ 02/2016\n ', '\n 26/02/2016\n ', '\n 26/02/2016\n ', '\n 02/03/2016\n ', '\n 03/03/ 2016\n ', '\n 04/03/2016\n ', '\n 07/03/2016\n ', '\n 04/02/2016\n ', '\n 08/03/2016\n ', '\n 09/ 03/2016\n ', '\n 17/03/2016\n ', '\n 18/03/2016\n ', '\n 22/03/2016\n ', '\n 23/03/ 2016\n ', '\n 23/03/2016\n ', '\n 30/03/2016\n ', '\n 31/03/2016\n ', '\n 01/04/2016\n ']
【问题讨论】:
-
去掉
[d.strip() for d in ds]周围的空格
标签: python algorithm xpath web-scraping lxml