我已经通过抓取页面来实现了一个功能,然后我运行了,但是输出给出了\r\n
。我使用strip
函数删除了\r\n
,但是它不起作用。为什么以及如何删除\r\n
?
这是链接:https://ibb.co/VtVV2fb
import scrapy
from .. items import FetchingItem
class SiteFetching(scrapy.Spider):
name = 'Site'
start_urls = ['https://www.rev.com/freelancers']
transcription_page = 'https://www.rev.com/freelancers/transcription'
def parse(self, response):
items = {
'Heading': response.css('#sign-up::text').extract(),
'Earn_steps': response.css('.pb2 .lh-copy::text , .mb1::text , .mb3 .lh-copy::text').extract(),
}
yield response.follow(self.transcription_page, self.trans_faqs, meta={'items':items})
def trans_faqs(self, response):
items = response.meta['items']
names = {
'name1': 'FAQ1',
'name2': 'FAQ2',
}
finder = {
'find1': '#whatentailed p::text , #whatentailed .mr3::text',
'find2': '#requirements p::text , #requirements .mr3::text'
}
for name, find in zip(names.values(), finder.values()):
items[name] = list(map(str.strip,response.css(find).extract()))
yield items
答案 0 :(得分:1)
每当我有一个带有制表符或换行符的字符串时,我发现用''代替它们对我很有效。
例如,如果您的字符串变量中同时包含\ t和\ n,则可以执行以下操作:
string_variable.replace('\n','').replace('\t','')
到目前为止效果很好。