मैं एक जेएसपी फ़ाइल बनाने के बाद \ r \ n \ t वर्णों को एक स्केपर मकड़ी के साथ पट्टी करने की कोशिश कर रहा हूं।स्क्रैप में n t r स्प्रैप
मेरे पास "विवरण" ऑब्जेक्ट है जो नई लाइनों से भरा है, और यह वही नहीं करता जो मैं चाहता हूं: प्रत्येक विवरण को शीर्षक में मिलान करना।
मैंने मानचित्र (unicode.strip()) के साथ प्रयास किया लेकिन यह वास्तव में काम नहीं करता है। स्केपर के लिए नया होने के नाते मुझे नहीं पता कि क्या एक और आसान तरीका है या कैसे यूनिकोड नक्शा वास्तव में काम करता है।
def parse(self, response):
for sel in response.xpath('//div[@class="d-grid-main"]'):
item = xItem()
item['TITLE'] = sel.xpath('xpath').extract()
item['DESCRIPTION'] = map(unicode.strip, sel.xpath('//p[@class="class-name"]/text()').extract())
मैं के साथ भी करने की कोशिश की:
यह मेरा कोड है
item['DESCRIPTION'] = str(sel.xpath('//p[@class="class-name"]/text()').extract()).strip()
लेकिन यह एक त्रुटि उठाया। सबसे अच्छा तरीका क्या है?
हैलो, आपका मतलब क्या है "यह वास्तव में काम नहीं करता"? 'स्ट्रिप()' केवल अग्रणी और पीछे वाले वर्णों को मानता है, इसलिए यदि आप स्ट्रिंग के अंदर मौजूद कुछ भी पट्टी करना चाहते हैं तो आपको किसी अन्य तरीके की आवश्यकता है। 'आयात पुनः' और' re.sub ('[\ r \ n \ t]', '', 'हेल \ nlo \ r!') 'अगर आपकी समस्या है तो मदद कर सकता है। –
मैं 'आइटम लोडर की http://doc.scrapy.org/en/latest/topics/loaders.html चेकआउट करने का सुझाव दूंगा जो आपको अपने 'आइटम के – Granitosaurus
क्वांटिनप्रैडेट धन्यवाद के इनपुट और आउटपुट का प्रबंधन करने की अनुमति देता है, वास्तव में पॉल की जवाब अच्छा था, मुझे यह नहीं पता था। और ग्रेनिटोसॉरस मैं इस बात का अध्ययन करूंगा कि धन्यवाद –