मैं नोकोगिरी के साथ एक HTML पृष्ठ को स्क्रैप कर रहा हूं और मैं सभी स्टाइल विशेषताओं को अलग करना चाहता हूं।
मैं इसे कैसे प्राप्त कर सकता हूं? (मैं रेल का उपयोग नहीं करते तो मैं यह स्वच्छ विधि है उपयोग नहीं कर सकते और मैं स्वच्छ मणि 'का उपयोग करने के कारण मैं श्वेत सूची नहीं हटाने को ब्लैकलिस्ट करना चाहते हैं नहीं करना चाहती)स्ट्रोक शैली विशेषताएँ नोकोगिरी
html = open(url)
doc = Nokogiri::HTML(html.read)
doc.css('.post').each do |post|
puts post.to_s
end
=> <p><span style="font-size: x-large">bla bla <a href="http://torrentfreak.com/netflix-is-killing-bittorrent-in-the-us-110427/">statistica</a> blabla</span></p>
मैं इसे
होना चाहता हूँ=> <p><span>bla bla <a href="http://torrentfreak.com/netflix-is-killing-bittorrent-in-the-us-110427/">statistica</a> blabla</span></p>
कर सकते हैं वाह। वह आसान है! मुझे यह पसंद है। धन्यवाद! – keepitterron
'doc.xpath (' .//@ style ') का उपयोग करें। सभी नोड्स से सभी इनलाइन शैलियों को निकालने के लिए हटाएं, शुरुआत में '.' को नोट करें जैसा कि नीचे @bricker द्वारा उल्लिखित है। परिणामस्वरूप एचटीएमएल स्ट्रिंग प्राप्त करने के लिए चेन '.to_s'। –
सुधार: इसे श्रृंखलाबद्ध न करें लेकिन परिणामस्वरूप HTML स्ट्रिंग प्राप्त करने के लिए 'description.to_s' का उपयोग करें। यदि आप 'DOCTYPE' नहीं चाहते हैं तो आपको इसके बजाय 'नोकोगिरी :: HTML.fragment' विधि का उपयोग करना चाहिए, http://stackoverflow.com/questions/4723344/how-to-prevent-nokogiri-from-adding- डॉक्टरेट-टैग –