在使用response.css
提取数据时,有时会遇到需要删除换行符( )和逗号(,
)的情况。你可以使用Python的字符串方法replace()
来实现这一点
import scrapy
class MySpider(scrapy.Spider):
name = 'myspider'
start_urls = ['http://example.com']
def parse(self, response):
# 假设我们要提取的数据在一个class为example的div中
data = response.css('div.example::text').get()
# 删除换行符和逗号
cleaned_data = data.replace('\n', '').replace(',', '')
# 输出清理后的数据
self.log(cleaned_data)
如果你需要处理的文本包含多个换行符和逗号,你可以使用join()
和split()
方法结合正则表达式来更高效地处理:
import re
import scrapy
class MySpider(scrapy.Spider):
name = 'myspider'
start_urls = ['http://example.com']
def parse(self, response):
data = response.css('div.example::text').get()
# 使用正则表达式删除换行符和逗号
cleaned_data = re.sub(r'[,\\n]+', '', data)
self.log(cleaned->data)
在这个例子中,re.sub()
函数使用正则表达式[,\\n]+
来匹配一个或多个逗号或换行符,并将它们替换为空字符串(即删除它们)。这样可以更高效地处理包含多个换行符和逗号的文本。
领取专属 10元无门槛券
手把手带您无忧上云