首页 > 解决方案 > 跳过转义序列字符 Python Scrapy

问题描述

我正在抓取一个网站,但我在输出中得到了转义序列字符。字符如下:

\r \n \t \xa

我尝试了 .split() 方法,但此方法的问题是当scrapy crawler 找不到单个值时,它不会抓取任何值并移动到下一次迭代。

绕过这些字符的最佳方法是什么?

以下是输出:

在此处输入图像描述

标签: pythonscrapy

解决方案


Pythonre.sub可以做到这一点。

>>> import re
>>> re.sub(r'\s+', ' ', "\t \xa0")
' '
>>> re.sub(r'\s+', ' ', "\t \xa0 py \t \t \xa0 thon")
' py thon'
>>> # You can then use str.strip to get rid of any surrounding spaces
>>> re.sub(r'\s+', ' ', "\t \xa0 py \t \t \xa0 thon").strip()
'py thon'

推荐阅读