我正在编写一个Python代码,使用lxml、urllib和csv来获取a Brazil government site中的演讲稿。你知道吗
我可以使用XPath找到每个演讲的标题和链接,但不能找到确切的日期,因为之前没有演讲日期的特定标记。你知道吗
当我使用XPath '//span[@class="summary-view-icon"]/text()
时,scraper会返回日期、时间和单词“página”(第页,葡萄牙语)。我知道这个Xpath不对,但我不知道如何只选择一天。你知道吗
即使犯了这个错误,我还是能够将废弃的内容转换成一个列表,并编辑删除除日期之外的所有内容。问题是,正如你在下面看到的,最终的列表还有一些我不能删除的字符。你知道吗
这里似乎有两种解决方案:正确使用XPath或编辑列表中的其他字符。我该怎么做?你知道吗
['\n 18/12/2015\n','\n 21/12/2015\n','\n 21/12/2015\n','\n2015年12月22日\n','\n 2015年12月22日\n','\n 2015年12月22日\n','\n2016年1月11日\n','\n 2016年1月19日\n','\n 2016年1月21日\n','\n 26/01/2016\n','\n 27/01/2016\n','\n 27/01/2016\n','\n2016年1月28日\n','\n 2016年2月1日\n','\n 2016年2月1日\n','\n2016年2月2日\n','\n 2016年2月2日\n','\n 2016年2月2日\n','\n 03/02/2016\n','\n 03/02/2016\n','\n 19/02/2016\n','\n2016年2月19日\n','\n 2016年2月22日\n','\n 2016年2月26日\n','\n2016年2月26日\n','\n 2016年3月2日\n','\n 2016年3月3日\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','\n2016年3月17日\n','\n 2016年3月18日\n','\n 2016年3月22日\n','\n2016年3月23日\n','\n 2016年3月23日\n','\n 2016年3月30日\n','\n 31/03/2016\n','\n 01/04/2016\n']
请尝试使用XPath中的以下命令将结果缩小到仅包含日期:
上面XPath的最后一位(
text()[normalize-space()]
)只返回非空文本节点。从这里开始,您仍然需要使用strip()
删除不必要的空白:可以使用
strip
从列表中的元素中删除所有换行符/空格:编辑:您说过您可以将结果转换为问题中的列表,这样您就可以去掉其中的元素。你知道吗
这会让你得到你想要的:
使用normalize space两次将剥离删除空结果+剥离最终结果的所有空白。你知道吗
相关问题 更多 >
编程相关推荐