抓取网络数据时无法删除 \r\n\t?

Unable to remove \r\n\t while scraping web data?

当我从网站上抓取 html table 时,我想删除所有 \r\n\t 开头和结尾的 td.text 内容。

这是我的代码:

row.append(td.text.strip('\n').strip('\r').strip('\t').strip('"').strip().strip(':').strip(' '))

没有 strip 函数,结果是这样的:

[['BP / Age',
  ': \r\n\r\n           USA/ 2',
  'FirstName',
  ':\r\n\t    \t \r\n            Walker\r\n\t    \n\n']]

使用 strip 函数,结果如下所示:

[['BP / Age',
  ': \r\n\r\n           USA/ 2',
  'FirstName',
  ':\r\n\t    \t \r\n            Walker']]

我怎样才能摆脱剩余的 \r\n\t?

不要尝试逐步剥离。然后您需要指定字符出现的确切顺序,这几乎不可能对所有字符串都相同,并且必须反映前导部分和尾随部分的顺序。

您可以一次全部剥离:

row.append(td.text.strip('\n\r\t": '))

演示:

>>> ':\r\n\t    \t \r\n            Walker\r\n\t    \n\n'.strip('\n\r\t": ')
'Walker'